High-performance computing with Wolfram Mathematica

Delivering the Best Speed, Scope, and Scalability

High-performance computing requires getting the right answers to the most demanding technical problems. Speed is vital, but not sufficient—you must get the results you need, and they must be accurate. Mathematica provides all this and more, integrating important HPC technologies in a single seamless system so you don't have to choose between speed and accuracy. With many of these technologies applied in automated ways, Mathematica is the high-performance computing environment that lets you deliver quick, correct solutions.

Fast, scalable algorithms

At the core of Mathematica's high-performance capability is the world's largest web of algorithms. Carefully selected and often invented by Wolfram Research developers, they have been analyzed and optimized for the very best performance in speed, memory use, and robustness.

In many cases Mathematica functions encapsulate more than one algorithm and automatically select among them to give the best performance for the size and type of input and output required. No other system is so well optimized and automated across problems of any size.

See also:

Just-in-time compilation

Many of Mathematica's functions utilize just-in-time compilation when appropriate. By generating an efficient byte-code version of an expression or program that is to be used repeatedly, considerable net performance gains can result. Because the process is automatic, it's easier to write the most efficient programs possible.

See also:

Multicore, multi-CPU and distributed computing

Many of the most computationally intensive algorithms in Mathematica automatically make use of local multicore or multi-CPU hardware. In addition, you can write parallel programs in Mathematica to run over multiple CPUs locally or on remote hardware. The distribution and management of the tasks is entirely automatic and can be scaled to grids of any size using gridMathematica extension licenses.

See also:

Efficient data representation

Mathematica automatically represents data in efficient internal structures, including real and integer packed arrays, sparse data, and image data. Regardless of the internal representation, you access the data the same way, with Mathematica automating the process. Fast computations with low memory demands are easier than ever.

Hardware optimization

To squeeze the very best out of your computer, software must be optimized not just for the operating system, but also for the make and model of CPU. Many of the core routines in Mathematica are optimized for specific hardware and use vendor-optimized libraries where beneficial. When used with gridMathematica, you can specify a task once, and it will automatically be optimized differently on each node according to its hardware and operating system.

64-bit implementation

Mathematica has full 64-bit implementation for all major platforms. This allows Mathematica to handle larger problems by giving access to more memory. Released from the 4GB limit of 32-bit implementations, Mathematica can handle larger datasets, and greater tasks.