NVIDIA CUDA & OpenCL
CUDA™ is NVIDIA's parallel computing architecture for GPUs. OpenCL is a framework for developing applications that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors.
Bright Computing is an official NVIDIA© partner and has a redistribution agreement with NVIDIA that allows their CUDA and OpenCL software to be included in Bright Cluster Manager.
Customers running Bright Cluster Manager on a GPU cluster can install the latest, preconfigured CUDA packages directly from Bright Computing's Yum repository using a simple command. Bright Computing's sophisticated provisioning system will then take care of distributing the relevant elements to the GPU nodes.
The latest CUDA package can co-exist with CUDA packages previously released by Bright Computing, and users can easily switch between CUDA and OpenCL versions, due to Bright Cluster Manager's preconfigured Environment Modules. Furthermore, the CUDA driver is automatically compiled at boot time against the running Linux kernel, ensuring compatibility with the kernel at all times.
The CUDA package offers a comprehensive set of tools and features, such as:
- Support for the Fermi architecture, with:
- Native 64-bit GPU support;
- Multiple Copy Engine support;
- ECC reporting;
- Concurrent Kernel Execution;
- Fermi HW debugging support in cuda-gdb.
- C++ Class Inheritance and Template Inheritance support for increased programmer productivity.
- A new unified interoperability API for OpenGL, with support for OpenGL texture interop.
- CUDA Driver / Runtime Buffer Interoperability, which allows applications using the CUDA Driver API to also use libraries
implemented using the CUDA C Runtime such as CUFFT and CUBLAS.
- CUBLAS now supports all BLAS1, 2, and 3 routines including those for single and double precision complex numbers.
- Up to 100x performance improvement while debugging applications with cuda-gdb.
- cuda-gdb hardware debugging support for applications that use the CUDA Driver API.
- cuda-gdb support for JIT-compiled kernels.
- New CUDA Memory Checker reports misalignment and out of bounds errors, available as a stand-alone utility and debugging mode within cuda-gdb.
- CUDA Toolkit libraries are now versioned, enabling applications to require a specific version, support multiple versions explicitly, etc.
- CUDA C/C++ kernels are now compiled to standard ELF format.
- Support for device emulation mode has been packaged in a separate version of the CUDA C Runtime (CUDART), and is deprecated in this release. Now that more sophisticated hardware debugging tools are available and more are on the way, NVIDIA will be focusing on supporting these tools instead of the legacy device emulation functionality. On Linux, use cuda-gdb and cuda-memcheck, and check out the solutions from Allinea and TotalView that will be available soon.
- Support for all the OpenCL features in the latest R195 production driver package:
- Double Precision;
- Graphics Interoperability with OpenCL for high performance visualization;
- Query for Compute Capability, so you can target optimizations for GPU architectures (cl_nv_device_attribute_query);
- Ability to control compiler optimization settings via support for pragma unroll in OpenCL kernels and an extension that
allows programmers to set compiler flags. (cl_nv_compiler_options);
- OpenCL Images support, for better/faster image filtering;
- 32-bit global and local atomics for fast, convenient data manipulation;
- Byte Addressable Stores, for faster video/image processing and compression algorithms;
- Support for the latest OpenCL spec revision 1.0.48 and latest official Khronos OpenCL headers.
More information can be found on the NVIDIA website.
“Bright Computing's cluster management software fills a critical need for datacenter managers to reliably monitor and manage the status of their GPU-enabled clusters.”
— Andy Keane, General Manager of the Tesla business at NVIDIA