Jacket (software)
Encyclopedia
Jacket is a numerical computing
Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis ....

 platform enabling GPU acceleration of MATLAB
MATLAB
MATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...

-based codes. Developed by AccelerEyes
AccelerEyes
AccelerEyes builds programming tools for parallel programming and visual computing on GPU chipsets. Based in Atlanta, the company released Jacket, a tool to compile MATLAB code for CUDA-enabled GPUs, in June 2008...

, Jacket allows GPU-based matrix
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...

 manipulations, plotting of functions
Function (mathematics)
In mathematics, a function associates one quantity, the argument of the function, also known as the input, with another quantity, the value of the function, also known as the output. A function assigns exactly one output to each input. The argument and the value may be real numbers, but they can...

 and data, implementation of algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...

s, and interfacing with programs written in other languages, including C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

, and CUDA
CUDA
CUDA or Compute Unified Device Architecture is a parallel computing architecture developed by Nvidia. CUDA is the computing engine in Nvidia graphics processing units that is accessible to software developers through variants of industry standard programming languages...

.

History

Jacket was created in 2007 by Gallagher Pryor, co-founder of AccelerEyes
AccelerEyes
AccelerEyes builds programming tools for parallel programming and visual computing on GPU chipsets. Based in Atlanta, the company released Jacket, a tool to compile MATLAB code for CUDA-enabled GPUs, in June 2008...

. Other original inventors and co-founders include James Malcolm, Tauseef Rehman, and John Melonakos. Jacket was designed to enable high-level programming of GPU devices for rapid prototyping work.

In an October 2008 article, the number of current Jacket users is said to be in the thousands, and includes engineers and scientists in technology companies such as GE
Gê are the people who spoke Ge languages of the northern South American Caribbean coast and Brazil. In Brazil the Gê were found in Rio de Janeiro, Minas Gerais, Bahia, Piaui, Mato Grosso, Goias, Tocantins, Maranhão, and as far south as Paraguay....

, Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...

, Toyota, and Morgan Stanley
Morgan Stanley
Morgan Stanley is a global financial services firm headquartered in New York City serving a diversified group of corporations, governments, financial institutions, and individuals. Morgan Stanley also operates in 36 countries around the world, with over 600 offices and a workforce of over 60,000....

.

Jacket use

Jacket is built around the M (or MATLAB) language. Jacket code is executed at the MATLAB command prompt, >> , in the Command Window, or as a .M script. Jacket introduces new GPU-specific data types into MATLAB. Once a GPU data structure has been created, any operations on that GPU matrix are performed on the GPU rather than the CPU. To turn off GPU computation, simply cast the data back to the CPU using one of the MATLAB data types, e.g. double. These functions are used as follows:


>> GPU_matrix = gdouble( CPU_matrix );
>> GPU_matrix = fft( GPU_matrix );
>> CPU_matrix = double( GPU_matrix );

Multi-GPU support

The Jacket Multi-GPU License (MGL) extends the single GPU support of the base Jacket product to as many as eight (8) GPUs in a single system image machine. Where high-performance computing (HPC
HPC
HPC may refer to:* Handheld PC* Hasty Pudding cipher* Health Professions Council* Hemangiopericytoma* Hematopoietic progenitor cell* High-performance computing** Windows HPC Server 2008, an operating system for high-performance computing by Microsoft...

) resources, such as GPU clusters, are already in place, Jacket HPC can be leveraged to run M code across the clusters or Cloud services with 8 GPUs or more.

Graphics support

Jacket includes a Graphics Library for coupling of GPU visualizations with GPU computation. GPU versions of common MATLAB visualization commands are available, including gplot, gsurf, gscatter3, etc.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK