We have had many struggles with this project and while this project has not been cancled, it has been temporarily defered. We've gone back to the planning stages.
One of the struggles we had while in development was allowing the use of main-stream, entry level CUDA GPUs. In fact it was our number one requirement, supporting attainable use. To some extent we also wanted to allow the use of an sdk emulator as well (at least as a fall back). Our hardware and development environment lock a year ago prevented the use of many new mainstream low-power cards which have since come about since. The lock also prevented us from using many of the various new break throughs which emerged during that time. Break throughs which would have simplified and helped attain our major goal of attainable use.
Since our lock these major break throughs have come about:
- CUDA has gone through transformations - OpenCL has emerged - Direct access to hardware (GPUs) via various VMs has been allowed
The goals of the new plan are:
- Low cost of entry. We don't want users required to shell out lots of money to start using this module. - OpenCL compatible. We don't want to restrict use of the module to ONLY certain cards or certain manufacturers. - VM Ready. Scripted OTB, ready to use in any environment where OpenCL is allowed.
This GPLv3 module for NGINX has been in development for a short while, however development has been accelerated in the 2nd Quarter of 2009. Our goal is to have a stable final binary ready for prime time in the next coming months. Betas being offered and ready to compile in the mean time.
The project site is hosted at google code: nginx-expressz-gpu.
Our intention is to have the test suite not only verify but serve as an accurate benchmark. Integration of the queue has been accelerated to solidify this goal.
At the moment there are quite a few and Patches are WELCOME!
Current code base could be limited to CUDA compatible non-MIMD or SIMD cores. Future CUDA direction is still very foggy but at least the module will be work on current GPUs.
d - In development. b - Beta available. X - First Production Final available. ? - Task not reached yet.
Our current road map is as follows. Queue integration is a parallel task at the moment. It is also our goal to combine benchmarking with testing.
[d] - Gzip stream compression. [?] - PNG image compression. [?] - JPG image compression. [d] - Queue Integration. [d] - BenchMarking TestSuite