Visit additional Tabor Communication Publications
January 26, 2009
The nascent GPGPU computing world received another boost today with the commercial release of Jacket 1.0, a GPU engine for MATLAB. Jacket was developed by AccelerEyes, a two-year-old Atlanta-based startup that was founded by Georgia Tech grad John Melonakos, who also runs the company. AccelerEyes aims to tap into the enormous user base of engineers and scientists currently using MATLAB, but who would like to take advantage of the latest GPU hardware to accelerate computing and visualization.
In a nutshell, Jacket allows developers to program GPUs in workstations, PCs and embedded systems using MATLAB's M language. The Jacket runtime manages all CPU-GPU memory transfers, kernel configurations and execution launches behind the scenes. The GPU computing engine is built atop CUDA, NVIDIA's GPU programming environment, so for the time being only CUDA-capable NVIDIA GPUs are supported.
A Graphics Toolbox package is included to provide integrated visualization, offering the capabilities of OpenGL in MATLAB's interpretive programming environment. Since the Toolbox is also GPU-based, it allows the program to take advantage of GPU-side computational results already stored on the graphics card memory.
Some MATLAB code modification is necessary in order to take advantage of Jacket's GPU smarts. But the changes are relatively simple. Jacket has introduced a single precision GPU data type (double precision not yet supported) so that array data can be cast as GPU objects. Using the GPU data type, Jacket overloads CPU-based MATLAB function with CUDA-based functions and provides transparent execution on the graphics processor.
Jacket has been in beta for seven months, during which AccelerEyes has continued to refine the software. Version 1.0 includes a number of bug fixes and enhancements, but the biggest change is the addition of a MATLAB GPU-for-loop (gfor).
Melonakos characterized the gfor as essentially a MATLAB parallel for-loop (parfor) for GPUs. But instead of distributing the loop calculations across multiple CPUs/cores (typically across a cluster) as is done with parfor, the gfor uses the hundreds of cores within a graphics processor to implement the parallelism. In the beta version of Jacket, users could operate on GPU data types in a regular for-loop, but the individual iterations were performed sequentially on the GPU. The gfor transforms the iterations into a data-parallel calculation, and the entire loop is executed on the GPU. Like parfor, gfor is restricted to loop blocks without data dependencies, but the loop itself is accomplished under a single CPU thread.
Jacket beta users ran the gamut from biotech/medical and aerospace/defense to electronics to financial services, with smaller numbers of users in the communications, automotive and energy industries. According to Melonakos, thousands of users took part in the beta program with at least half of them outside the U.S. "It's very popular in Europe, India, China, Japan, Brazil and Russia," he says.
AccelerEyes seems to have uncovered a unique niche in the defense community, where MATLAB is used for prototyping applications that are later deployed using C/C++ or some other language. Applications like signal processing and geo-location are especially suitable for hardware acceleration, but getting MATLAB code to run on non-CPU architectures has presented a big obstacle. "People are sick and tired of converting MATLAB to C code or FPGA [code] or some other code to actually get it in a deployable environment," says Melonakos. "This basically gives them the ability to get the acceleration directly in MATLAB that they would need to deploy, without having to do a manual port of the code to a different language."
Licenses are priced according to customer type. A basic Jacket license runs $1,900 for Individual/Commercial, $1,500 for Government/Research, $500 for Academic and $100 for Student. All licenses are perpetual and come with one year of free upgrades and support. A basic license for Jacket enables you to access up to two GPUs -- typically one Tesla GPU for computation and one Quadro GPU for visualization using the Graphics Toolbox.
If you have a new Tesla workstation with up to four GPUs and you want to run Jacket on them, AccelerEyes charges an incremental fee for a third GPU, and a smaller fee for the fourth one. Even though you can access more than one GPU, Jacket currently doesn't deal with multiple GPUs within a single MATLAB session, although this capability is under development. For now, you need to run one instance of MATLAB per GPU.
But the biggest limitation is that the software only works with NVIDIA hardware -- a result of the relative maturity of the CUDA software platform versus AMD's Brook+ and the recently defined OpenCL. As hardware vendors like AMD, Intel and NVIDIA start to support the open platform OpenCL framework, it should be possible for AccelerEyes to create a hardware-agnostic implementation of Jacket. In that case, users would be able to execute Jacket-MATLAB applications on NVIDIA and ATI GPUs, as well as Intel's upcoming Larrabee processors.
May 23, 2013 |
The study of climate change is one of those scientific problems where it is almost essential to model the entire Earth to attain accurate results and make worthwhile predictions. In an attempt to make climate science more accessible to smaller research facilities, NASA introduced what they call ‘Climate in a Box,’ a system they note acts as a desktop supercomputer.
May 22, 2013 |
At some point in the not-too-distant future, building powerful, miniature computing systems will be considered a hobby for high schoolers, just as robotics or even Lego-building are today. That could be made possible through recent advancements made with the Raspberry Pi computers.
May 16, 2013 |
When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
May 15, 2013 |
Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.
The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.