NVIDIA CUDA® technology is the world's only C language environment that enables programmers and developers to write software to solve complex computational problems in a fraction of the time by tapping into the many-core parallel processing power of GPUs. There are already millions of CUDA-capable GPUs deployed (many modern Nvidia GeForce and Quadro graphics cards), and thousands of software programmers are already using the free CUDA software tools to accelerate a wide range of compute-intensive applications: video and audio encoding, oil and gas exploration, product design and 3D visualization, medical imaging, complex mathematics and matrix manipulations, financial analysis, scientific research, and many others.
If you are interested in finding out more about the hardware side of the CUDA equation, check out our CUDA-Capable Graphics Card page.
MV4T recognizes the incredible potential of parallel computing in modern software and computer applications, and we help you acquire computing hardware solutions that deliver incredible performance and efficiency through a tuned combination of modern and powerful CPUs (e.g., Intel Xeon Processors) and GPUs (Graphics Processing Units featuring multi-core parallel processing abilities). Today, and in the future, the ultimate performance of your hardware will more than ever depend on offloading complex mathematical problems to specialized processors (GPUs in particular) that can accept the most complex computation-intensive challenges and deliver the most incredibly fast-execution solutions possible through parallel processing.
NVIDIA CUDA technology is at the forefront of affordable workstation and server parallel processing, delivering capabilities formerly seen only in expensive supercomputers for a mere fraction of the price. CUDA-capable graphics cards from Nvidia may cost as little as a couple hundred dollars, and for well under one thousand dollars, you can acquire a graphics card with hundreds of computing cores (to slice and dice your parallel processing algorithms on quite effectively and efficiently). Certain computations can realize performance gains of 100x or more (yes, 100 TIMES faster execution; i.e., 99% off run-times), and many compute-intensive algorithms will see gains of 5-10 times or more.
In late 2008, Nvidia announced that its CUDA architecture will be compatible with a new technical standard for graphics-based computing called OpenCL (i.e., Open Computing Language). OpenCL was originally initiated by Apple Computer as a neutral, open-platform solution for computing tasks that could be best handled through a combination of microprocessors (be it Intel or Advanced Micro Devices CPUs) and graphics chips (whether the GPU is from Nvidia or AMD / ATI). OpenCL is now officially the product of the industry consortium led by the Khronos Group (OpenCL link). This was certainly exciting news: Nvidia OpenCL-capable graphics cards will ultimately emerge as a subset or superset of any CUDA enabled video cards. Since that 2008 announcement, things are only getting more interesting with OpenCL in 2010, 2011, and beyond...
OpenCL (Open Computing Language) is an open, royalty-free standard for general-purpose parallel programming of heterogeneous systems. OpenCL is designed to provide a uniform programming environment for software developers to write efficient, portable code for high-performance compute servers, desktop computer systems and even handheld devices using a mix of multi-core CPUs, GPUs, and other parallel processors and architectures such as DSPs.
With the OpenCL 1.1 specification currently available, we expect NVIDIA OpenCL technology incorporation to further extend upon the ability to deliver previously unimaginable parallel processing capabilities to the masses. And, OpenCL promises to ease the migration of your multi-core / stream-processor programming logic between multiple hardware platforms and Graphics Processing Unit (GPU) vendors.
The OpenCL 1.1 specification is currently available with significant new functionality including:
We tailor your entire computing systems for both high-speed and low power-consumption using state of the
art processors, power supplies, storage technology, RAM / memory, graphics cards, and related
components. CUDA and OpenCL allow you to further utilize the computing power you have available in your
GPU already that is otherwise not being used to its full potential. Efficiency gains and performance
increase do not only come from faster and more efficient CPUs, but also from using the
potential of your server, workstation, or desktop GPU as well. If you have a CUDA-ready
and/or OpenCL-ready graphics card, you may have untapped processing power just waiting to be used.