README.rdoc

Welcome to SGC-Ruby-CUDA

SGC-Ruby-CUDA is incomplete in many ways. Currently, it supports only some
crucial CUDA Driver and Runtime API functions. We hope to expand the
coverage as much as possible.

SGC-Ruby-CUDA is tested on 64bit Fedora 14. We are looking forward to
support Mac OSX. We have not tested it against 32bit Linux OS and Windows.
We certainly wish to improve the code base to support multiple platforms in
the future. We also welcome CUDA users to test it against their working
environments.

Current development will focus on supporting CUDA Toolkit 4.0.

Check out {file:doc/features.rdoc} for the supported CUDA features. Also
see {file:doc/devel.rdoc} for the latest development plan.

Fedora and the Infinity design logo are trademarks of Red Hat, Inc.

Linux is a registered trademark of Linus Torvalds.

NVIDIA, the NVIDIA logo, CUDA, GeForce, Quadro, and Tesla are trademarks or
registered trademarks of NVIDIA Corporation in the U.S. and other
countries.

Windows is a registered trademark of Microsoft Corporation in the United
States and other countries.

Design philosophy

The Ruby bindings, Ruby CUDA API, which deal directly with Nvidia CUDA SDK
C/C++ bindings retain the CUDA Driver and Runtime API in a systematic way
whenever possible. This facilitates developers familiar with CUDA C who
should be able to use SGC-Ruby-CUDA with minimum effort. At times, we may
design the API to be more Ruby-like and let go unnecessary API structure in
modern programming language.

We use Ruby-FFI as a bridge to call the CUDA C API. Ruby classes and
methods to are built on top. The use of Ruby-FFI would ease the support of
multiple Ruby interpretors.

The devel* branches may be checked out for a peep on the latest
development. However, they are highly volatile and rebase may be
applied for cleaner commits. The devel* branches serve as grace period
before commits move into mainstream or master branches which are considered
stable commits. This would minimize unnecessary fixing commits.