Development Plan
SGC-Ruby-CUDA development plan provides an outline of features, issues, etc. that will be tackled in order. There is currently no strict timeline on when these features or issues will be covered. We hope at least we are progressing consistently and catching up the development of Nvidia CUDA SDK.
Creating Ruby bindings for using CUDA Driver API on Linux Platform
On-going
-
Include Ruby bindings for the use of CUDA compiler to compile a .cu file to generate a .ptx file.
-
Supporting CUDA Toolkit 4.0.
Todo
-
Port some CUDA samples to SGC-Ruby-CUDA with benchmark.
-
Develop sample programs.
Creating Ruby bindings for using CUDA Driver API on Mac Platform
On-going
Todo
Towards robust development of Ruby CUDA Driver API
On-going
Todo
-
Update the memory abstraction or parameter passing.
-
To allow one to specify a paramater as a float or double, int or long, etc.
-
To provide memory buffers for more data types?
-
Creating Ruby bindings for using CUDA Runtime API on Linux Platform
On-going
-
Supporting CUDA Toolkit 4.0.
Todo
-
Develop sample programs.
Creating Ruby bindings for using CUDA Runtime API on Mac Platform
On-going
Todo
Towards portable platform - supporting Linux, Mac, Windows
Todo
-
Support portable compilations.
-
Support portable paths?
-
Configurable tools? compiler commands, flags, etc.
-
Release SGC-Ruby-CUDA gems for multiple platforms.
Development of generic kernel programs
Todo
-
Identify interesting sample kernel programs bundled with CUDA Toolkit, pycuda, ruby-opencl, etc.
-
Identify open source kernels available on the web.
-
Adopt or develop kernel programs.
-
Develop tests and benchmark programs for the kernels.
-
Optimizing the kernel performance.
Development of benchmarking suite
Todo
-
Identify existing benchmarking suites for GPU.
-
Porting existing CUDA kernels and benchmark programs to SGC-Ruby-CUDA.