My head aches,and I feel weak. Why? Its a little (Yeah right) H.264 Encoder written in c, called the x264. Now whats my bizness with it? Its part of my MSc thesis project on Hardware Acceleration.
I have to pick the computationally intensive parts of the code and send them to an FPGA, and investigate if theres speed up.I gotta make use of a C to VHDL compiler written in house.
Sounds easy right?
Yawwwnnnnn. My first assignment was to see if I could serialize the application, by removing the pthreads. Then I had to do some profiling. The call graphs generated by this thing were so damn huge.I mean this is an encoder software, and its opensource....gosh some people really have time.
Now I gotta pick the functions which only operate on macroblocks, and use them to estimate area and delay on an FPGA. Some of my friends think I am losing it...lets just see.
Try stepping through a large piece of software like that, and see how you feel...but its interesting anyways, Thank God for doxygen, which allowed me to generate documentation for the whole encoder.
For the estimates, I am considering the hardware arithmetic units which will be used by the functions. So if theres a multiplication operation, followed by addition, I know that I will need an multiplier and an adder. I will have to generate some data flow graphs, and maybe perform ASAP scheduling for resources, and add an extra 20% for routing and logic.
Now let me get back to picking out my functions....
Sunday, March 30, 2008
Subscribe to:
Comments (Atom)