GPGPU journey 1: First run
Done
- Setup development environment in windows
- Figure out hardware requirements
- Do a first compile run
Found out that ATI’s cores from R600 and up will be able to handle GPGPU programming. i.e X800 and up cards. For Nvidia, they claim that it is geforce 6000 series but none of the CUDA examples will compile and run. Maybe I should try to run Brook+ examples.
After playing around with hardware and the development environment. I have settled on a cheap $16 Radeon HD2400 to develop at home and using my Radeon HD2900GT at work for more techniques exploration. I am going to stick with Brook+ for now on a windows XP 32 bit environment and slowly move on to RedHat 5.1 in parallel.
I did a first compile and had it working. Encountered some reduction kernel fragment error. A quick search online shows that reduction can only be done on factorials of 2, 3, 5, 7 and 9. For now I will just assume that a reduction is the process where 2 inputs nets 1 output. I will have to go into more details on this terminology later.
To do
- Setup development environment in Linux
- Find out how to draw a 3d object
- GPGPU and GT
- Sigma Delta
It looks like the example projects are setup with Makefiles and Linux in mind so it is only natural to do the same since developing with Visual studio probalby means tweaking all these settings that I have no idea about. But I wasn’t able to get the HD2900 GT to boot up properly under Red Hat Enterprise 5.1. Go figure. ATI has always been bad at supporting linux drivers. Once I get this done, I should be able to compile under linux without problems.
The next step is to find out how to draw a simple 3d object and display it so I can have direct feedback of my results instead of looking at the boring console data outputs. I will probably also need to find out how to output through linu’x GT GUI.
The first project should be able to be developed in parallel with everything. I am going to port my verilog RTL code to C first and make a first run with one stream of data under a standard cpu. Once that’s done, I will port it to run on GPGPU for one pixel and later on to a full video stream. Need to find a RAW data source for video input.
Leave a Reply