Mathematica 8 Gets Performance Boost, Integration with Wolfram Alpha

By Michael Feldman

December 14, 2010

The eighth version of Mathematica was released last month, the latest in Wolfram Research’s 22-year-old computational software platform. Although the tool is a relative newcomer to the high performance computing world, a raft of new capabilities have been added over the last several years that are aimed directly at the performance crowd. Mathematica 8 builds on those capabilities and adds some new ones that make it a serious contender for HPC applications.

Focus on performance started in earnest with Mathematica 4 back in 1999. Beginning with that release, Wolfram Research started to incorporate a variety of features and capabilities that improved runtime execution, including optimizing algorithms, supporting linkage of external C and Fortran libraries, and adding the ability to compile code. In 2008, with Mathematica 7, built-in support for multicore parallelism and compute clusters was added.

Mathematics 8 adds a number of new features that should boost performance even further. Perhaps the most important is the ability to generate, compile and link C code. The new feature allows Mathematica code to be automatically translated into C source code. The source can then be driven through a standard compiler (requiring a native Windows or Mac C compiler) and linked into a Mathematica executable for production.

The idea here is to take advantage of the speed of C-compiled code to boost performance of critical pieces of the Mathematic program. Previously Mathematica only supported compilation to a Java-like virtual machine byte-code, which although faster than interpreted execution, tended to be a good deal slower than compiled C code. In one example, a rendering application using vanilla Mathematica delivered just one frame every 10 to 15 seconds, while C compiled code was able to achieve two to four frames per second. Comparable speedups are to be expected from similar compute-intensive codes. All of this can be accomplished without the programmer ever having to write a single line of C.

Better yet, a parallelization option can be applied to a compiled function, which Mathematica will use to create a multi-threaded implementation. This can speed execution even further, assuming of course that the target CPU is multicore.

Compiled C code can be collected in dynamic link libraries (DLLs), which can be sucked back into the application or shared with other Mathematica programs. The ability to link DLLs also means externally developed C and C++ libraries can be incorporated into Mathematica, opening the door to many more performance optimized packages. Prior to this, talking with external C code involved the MathLink interface, which was burdened with the overhead of inter-program communication. Being able to access DLL routines directly makes calling external code much more efficient and straightforward.

For the GPGPU enthusiast, Mathematica 8 brings in support for CUDA and OpenCL. Unfortunately, this feature doesn’t have the seamless automation offered by the C code generation capability. Rather, the targeted algorithm has to be developed in CUDA or OpenCL first and then folded into the program later. Basically, Mathematica automates some of the housekeeping functions, such as downloading code and data to the GPU card, and uploading the results back to the host. GPGPU support can be scaled to utilize all the GPUs on a system, or, using the gridMathematica add-on, across a cluster.

Although you can’t automagically transform an arbitrary function into a GPU version, Mathematica 8 does include a couple dozen built-in functions that are already optimized for CUDA-enabled GPUs (in other words, those from NVIDIA). The functions are spread out across linear algebra, financial simulation, and image processing. The folks at Wolfram Research will undoubtedly be adding more built-in GPU routines in future versions, while also promising a more streamlined approach for GPU support.

Another category of performance improvements is enabled by speedups to a number of core algorithms. These include optimized solvers for integer linear algebra, highly oscillatory functions, transcendental and high-degree polynomial methods, and a number of new special functions. In some cases, the optimizations can boost performance by an order of magnitude or more, depending upon the size of the problem.

Besides the additional performance-boosting capabilities, Mathematica 8 also includes about 500 new built-in functions — an increase that represent nearly the entire function count in the original Mathematica 1 of 1988. The new capabilities in version 8 encapsulate high-level symbolic functions for probability and statistics; permutations and group theory algorithms; financial engineering routines of general utility; control system functions; wavelet analysis functions; graph and network algorithms; and image processing routine.

The last category encompasses some very useful routine for processing visual data. One of the new capabilities is feature detection, such as facial and character recognition. Also included are geometric transformations and image alignment. For video, Mathematica can now import and export individual frames as well as do real-time capture of webcam streams. All of these capabilities can be combined to deliver some rather sophisticated image processing applications on top of an already full-featured computational engine.

Perhaps the most visible addition to version 8 — at least from a user interface point of view — is the integration with Wolfram Alpha, the company’s Web-based computational knowledge engine. There are a number of advantages to marrying Mathematica to its Web spinoff, which, by the way, is itself a Mathematica application at its core.

First is the ability to tap the store of curated data in Wolfram Alpha, which encompasses a large and growing database that spans many technical and non-technical disciplines. It remains to be seen whether giving Mathematica users access to Wolfram Alpha data spurs new applications or will just be used as a sandbox for more customized data-centric applications.

For the application designer, one of the most potentially interesting uses of Wolfram Alpha is the ability to use its free-form linguistic capabilities. So instead of having to define a problem within the strict confines of the Mathematic language, you can use (more or less) natural language. So, for example, summing all the integers from 1 to 1000 would have to be specified as Sum[i, {i, 1, 1000}] in Mathematica, but could be simply stated as “sum integers 1 to 1000′” using the free-form mode.

The English version is automatically converted to Mathematica syntax on the fly, which can then be tweaked and developed separately. Extending the capability a bit further, users can pass Mathematica variables into Wolfram Alpha calculations.

The nice thing about the Mathematica architecture is nearly all its features, including the new ones described here, are included in the core technology. The Wolfram Alpha team has shied away from toolboxes, libraries, and standalone product add-ons (with the exception of gridMathematica). As a result, the new version 8 features can immediately leverage the large foundation of accumulated Mathematica componentry.

In the kickoff for Mathematica 8 at the Wolfram Technology Conference in November, company CEO Stephen Wolfram reiterated his commitment to maintain the platform as a unified, consistent software tool. Keeping the architecture monolithic means they are free to evolve the product through refinement of the individual pieces and the addition of new ones. With this kind of model, the whole is always guaranteed to be greater than the sum of the parts. “We’ve had a very simple strategic methodology,” explained Wolfram. “Just implement everything.”

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industy updates delivered to you every week!

UCSD, AIST Forge Tighter Alliance with AI-Focused MOU

January 18, 2018

The rich history of collaboration between UC San Diego and AIST in Japan is getting richer. The organizations entered into a five-year memorandum of understanding on January 10. The MOU represents the continuation of a 1 Read more…

By Tiffany Trader

New Blueprint for Converging HPC, Big Data

January 18, 2018

After five annual workshops on Big Data and Extreme-Scale Computing (BDEC), a group of international HPC heavyweights including Jack Dongarra (University of Tennessee), Satoshi Matsuoka (Tokyo Institute of Technology), Read more…

By John Russell

Researchers Measure Impact of ‘Meltdown’ and ‘Spectre’ Patches on HPC Workloads

January 17, 2018

Computer scientists from the Center for Computational Research, State University of New York (SUNY), University at Buffalo have examined the effect of Meltdown and Spectre security updates on the performance of popular H Read more…

By Tiffany Trader

HPE Extreme Performance Solutions

HPE and NREL Take Steps to Create a Sustainable, Energy-Efficient Data Center with an H2 Fuel Cell

As enterprises attempt to manage rising volumes of data, unplanned data center outages are becoming more common and more expensive. As the cost of downtime rises, enterprises lose out on productivity and valuable competitive advantage without access to their critical data. Read more…

Fostering Lustre Advancement Through Development and Contributions

January 17, 2018

Six months after organizational changes at Intel's High Performance Data (HPDD) division, most in the Lustre community have shed any initial apprehension around the potential changes that could affect or disrupt Lustre Read more…

By Carlos Aoki Thomaz

UCSD, AIST Forge Tighter Alliance with AI-Focused MOU

January 18, 2018

The rich history of collaboration between UC San Diego and AIST in Japan is getting richer. The organizations entered into a five-year memorandum of understandi Read more…

By Tiffany Trader

New Blueprint for Converging HPC, Big Data

January 18, 2018

After five annual workshops on Big Data and Extreme-Scale Computing (BDEC), a group of international HPC heavyweights including Jack Dongarra (University of Te Read more…

By John Russell

Researchers Measure Impact of ‘Meltdown’ and ‘Spectre’ Patches on HPC Workloads

January 17, 2018

Computer scientists from the Center for Computational Research, State University of New York (SUNY), University at Buffalo have examined the effect of Meltdown Read more…

By Tiffany Trader

Fostering Lustre Advancement Through Development and Contributions

January 17, 2018

Six months after organizational changes at Intel's High Performance Data (HPDD) division, most in the Lustre community have shed any initial apprehension aroun Read more…

By Carlos Aoki Thomaz

When the Chips Are Down

January 11, 2018

In the last article, "The High Stakes Semiconductor Game that Drives HPC Diversity," I alluded to the challenges facing the semiconductor industry and how that may impact the evolution of HPC systems over the next few years. I thought I’d lift the covers a little and look at some of the commercial challenges that impact the component technology we use in HPC. Read more…

By Dairsie Latimer

How Meltdown and Spectre Patches Will Affect HPC Workloads

January 10, 2018

There have been claims that the fixes for the Meltdown and Spectre security vulnerabilities, named the KPTI (aka KAISER) patches, are going to affect applicatio Read more…

By Rosemary Francis

Momentum Builds for US Exascale

January 9, 2018

2018 looks to be a great year for the U.S. exascale program. The last several months of 2017 revealed a number of important developments that help put the U.S. Read more…

By Alex R. Larzelere

ANL’s Rick Stevens on CANDLE, ARM, Quantum, and More

January 8, 2018

Late last year HPCwire caught up with Rick Stevens, associate laboratory director for computing, environment and life Sciences at Argonne National Laboratory, f Read more…

By John Russell

Inventor Claims to Have Solved Floating Point Error Problem

January 17, 2018

"The decades-old floating point error problem has been solved," proclaims a press release from inventor Alan Jorgensen. The computer scientist has filed for and Read more…

By Tiffany Trader

US Coalesces Plans for First Exascale Supercomputer: Aurora in 2021

September 27, 2017

At the Advanced Scientific Computing Advisory Committee (ASCAC) meeting, in Arlington, Va., yesterday (Sept. 26), it was revealed that the "Aurora" supercompute Read more…

By Tiffany Trader

Japan Unveils Quantum Neural Network

November 22, 2017

The U.S. and China are leading the race toward productive quantum computing, but it's early enough that ultimate leadership is still something of an open questi Read more…

By Tiffany Trader

AMD Showcases Growing Portfolio of EPYC and Radeon-based Systems at SC17

November 13, 2017

AMD’s charge back into HPC and the datacenter is on full display at SC17. Having launched the EPYC processor line in June along with its MI25 GPU the focus he Read more…

By John Russell

Nvidia Responds to Google TPU Benchmarking

April 10, 2017

Nvidia highlights strengths of its newest GPU silicon in response to Google's report on the performance and energy advantages of its custom tensor processor. Read more…

By Tiffany Trader

IBM Begins Power9 Rollout with Backing from DOE, Google

December 6, 2017

After over a year of buildup, IBM is unveiling its first Power9 system based on the same architecture as the Department of Energy CORAL supercomputers, Summit a Read more…

By Tiffany Trader

Fast Forward: Five HPC Predictions for 2018

December 21, 2017

What’s on your list of high (and low) lights for 2017? Volta 100’s arrival on the heels of the P100? Appearance, albeit late in the year, of IBM’s Power9? Read more…

By John Russell

GlobalFoundries Puts Wind in AMD’s Sails with 12nm FinFET

September 24, 2017

From its annual tech conference last week (Sept. 20), where GlobalFoundries welcomed more than 600 semiconductor professionals (reaching the Santa Clara venue Read more…

By Tiffany Trader

Leading Solution Providers

Chip Flaws ‘Meltdown’ and ‘Spectre’ Loom Large

January 4, 2018

The HPC and wider tech community have been abuzz this week over the discovery of critical design flaws that impact virtually all contemporary microprocessors. T Read more…

By Tiffany Trader

Perspective: What Really Happened at SC17?

November 22, 2017

SC is over. Now comes the myriad of follow-ups. Inboxes are filled with templated emails from vendors and other exhibitors hoping to win a place in the post-SC thinking of booth visitors. Attendees of tutorials, workshops and other technical sessions will be inundated with requests for feedback. Read more…

By Andrew Jones

Tensors Come of Age: Why the AI Revolution Will Help HPC

November 13, 2017

Thirty years ago, parallel computing was coming of age. A bitter battle began between stalwart vector computing supporters and advocates of various approaches to parallel computing. IBM skeptic Alan Karp, reacting to announcements of nCUBE’s 1024-microprocessor system and Thinking Machines’ 65,536-element array, made a public $100 wager that no one could get a parallel speedup of over 200 on real HPC workloads. Read more…

By John Gustafson & Lenore Mullin

Delays, Smoke, Records & Markets – A Candid Conversation with Cray CEO Peter Ungaro

October 5, 2017

Earlier this month, Tom Tabor, publisher of HPCwire and I had a very personal conversation with Cray CEO Peter Ungaro. Cray has been on something of a Cinderell Read more…

By Tiffany Trader & Tom Tabor

Flipping the Flops and Reading the Top500 Tea Leaves

November 13, 2017

The 50th edition of the Top500 list, the biannual publication of the world’s fastest supercomputers based on public Linpack benchmarking results, was released Read more…

By Tiffany Trader

GlobalFoundries, Ayar Labs Team Up to Commercialize Optical I/O

December 4, 2017

GlobalFoundries (GF) and Ayar Labs, a startup focused on using light, instead of electricity, to transfer data between chips, today announced they've entered in Read more…

By Tiffany Trader

How Meltdown and Spectre Patches Will Affect HPC Workloads

January 10, 2018

There have been claims that the fixes for the Meltdown and Spectre security vulnerabilities, named the KPTI (aka KAISER) patches, are going to affect applicatio Read more…

By Rosemary Francis

HPC Chips – A Veritable Smorgasbord?

October 10, 2017

For the first time since AMD's ill-fated launch of Bulldozer the answer to the question, 'Which CPU will be in my next HPC system?' doesn't have to be 'Whichever variety of Intel Xeon E5 they are selling when we procure'. Read more…

By Dairsie Latimer

  • arrow
  • Click Here for More Headlines
  • arrow
Share This