An Easier, Faster Programming Language?

By Tiffany Trader

June 18, 2014

The HPC community has turned out supercomputers surpassing tens of petaflops of computing power by stringing together thousands of multicore processors, often in tandem with accelerators like NVIDIA GPUs and Intel Phi coprocessors. Of course, these multi-million dollar systems are only as useful as the programs that run on them, and developing applications that can take advantage of all those cores requires the concerted efforts of highly-skilled programmers.

Current HPC programming tools are failing to meet the challenges presented by large-scale, heterogenous architectures and the demands of big data. Frameworks like MPI can be difficult to learn and use and time-consuming even for established experts. A new open source collaboration called “Julia” aims to simplify the coding process by providing “a powerful but flexible programming language for high performance computing.”

“In recent years, people have started to do many more sophisticated things with big data, like large-scale data analysis and large-scale optimization of portfolios,” says Alan Edelman, a professor of applied mathematics who is leading the Julia project. “There’s demand for everything from recognizing handwriting to automatically grading exams.”

Edelman, who is affiliated with MIT’s Computer Science and Artificial Intelligence Laboratory, points to a lack of professionals capable of coding at this level, noting that it’s not just difficult, it’s time-intensive.

“At HPC conferences, people tend to stand up and boast that they’ve written a program so it runs 10 or 20 times faster,” Edelman says. “But it’s the human time that in the end matters the most.”

The origins of Julia can be traced back to an HPC startup that Edelman was involved in, called Interactive Supercomputing. After the business was acquired by Microsoft in 2009, Edelman launched a new project with the goal of developing a novel, high-level programming environment that was both fast and efficient and suitable for domain experts as well as expert coders.

The development group includes Jeff Bezanson, a PhD student at MIT, and Stefan Karpinski and Viral Shah, both formerly at the University of California at Santa Barbara. They had all tried MPI (message-passing interface), the popular parallel processing tool, but found it was not the easiest interface to work with.

“When you program in MPI, you’re so happy to have finished the job and gotten any kind of performance at all, you’ll never tweak it or change it,” Edelman says.

The group made it their mission to develop a new language with the parallel-processing support of MPI that could generate code that ran as fast as C. It also had to be as easy to learn and use as Matlab, Mathematica, Maple, Python, and R, and it should be open-source, like Python and R.

The effort led to the launch of Julia in 2012, released under an MIT open-source license.

Edelman reports that Julia, while still a work in progress, has surpassed the group’s expectations.

“Julia allows you to get in there and quickly develop something usable, and then modify the code in a very flexible way,” he says. “With Julia, we can play around with the code and improve it, and become very sophisticated very quickly. We’re all superheroes now — we can do things we didn’t even know we could do before.”

The language uses a “multiple dispatch” approach which enables users to define function behavior across combinations of argument types. A dynamic type system enables greater abstraction, which bolsters performance and supports large data. Programs can be created quickly; when equally good programmers compete, the Julia programmer always wins, according to Edelman.

Edelman is not only a Julia creator and developer, he uses the language for Monte Carlo simulations for his “other” job as a theoretical mathematician.

“I love using Julia for Monte Carlo because it lends itself to lots of parallelism,” he explains. “I can grab as many processors as I need. I can grab shared or distributed memory from different computers and put them altogether. When you use one processor, it’s like having a magnifying glass, but with Julia I feel like I’ve got an electron microscope. For a little while nobody else had that and it was all mine. I loved that.”

Perhaps the coolest thing about Julia is that it the spirit of collaboration and extended community that is being enabled by the combination of ease-of-use and open-source licensing. Edelman says that people from all over the world working on the project. Geographically separate parties can even work on the same piece of software in real time.

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!

Nvidia Debuts Turing Architecture, Focusing on Real-Time Ray Tracing

August 16, 2018

From the SIGGRAPH professional graphics conference in Vancouver this week, Nvidia CEO Jensen Huang unveiled Turing, the company's next-gen GPU platform that introduces new RT Cores to accelerate ray tracing and new Tenso Read more…

By Tiffany Trader

HPC Coding: The Power of L(o)osing Control

August 16, 2018

Exascale roadmaps, exascale projects and exascale lobbyists ask, on-again-off-again, for a fundamental rewrite of major code building blocks. Otherwise, so they claim, codes will not scale up. Naturally, some exascale pr Read more…

By Tobias Weinzierl

STAQ(ing) the Quantum Computing Deck

August 16, 2018

Quantum computers – at least for now – remain noisy. That’s another way of saying unreliable and in diverse ways that often depend on the specific quantum technology used. One idea is to mitigate noisiness and perh Read more…

By John Russell

HPE Extreme Performance Solutions

Introducing the First Integrated System Management Software for HPC Clusters from HPE

How do you manage your complex, growing cluster environments? Answer that big challenge with the new HPC cluster management solution: HPE Performance Cluster Manager. Read more…

IBM Accelerated Insights

Super Problem Solving

You might think that tackling the world’s toughest problems is a job only for superheroes, but at special places such as the Oak Ridge National Laboratory, supercomputers are the real heroes. Read more…

NREL ‘Eagle’ Supercomputer to Advance Energy Tech R&D

August 14, 2018

The U.S. Department of Energy (DOE) National Renewable Energy Laboratory (NREL) has contracted with Hewlett Packard Enterprise (HPE) for a new 8-petaflops (peak) supercomputer that will be used to advance early-stage R&a Read more…

By Tiffany Trader

STAQ(ing) the Quantum Computing Deck

August 16, 2018

Quantum computers – at least for now – remain noisy. That’s another way of saying unreliable and in diverse ways that often depend on the specific quantum Read more…

By John Russell

NREL ‘Eagle’ Supercomputer to Advance Energy Tech R&D

August 14, 2018

The U.S. Department of Energy (DOE) National Renewable Energy Laboratory (NREL) has contracted with Hewlett Packard Enterprise (HPE) for a new 8-petaflops (peak Read more…

By Tiffany Trader

CERN Project Sees Orders-of-Magnitude Speedup with AI Approach

August 14, 2018

An award-winning effort at CERN has demonstrated potential to significantly change how the physics based modeling and simulation communities view machine learni Read more…

By Rob Farber

Intel Announces Cooper Lake, Advances AI Strategy

August 9, 2018

Intel's chief datacenter exec Navin Shenoy kicked off the company's Data-Centric Innovation Summit Wednesday, the day-long program devoted to Intel's datacenter Read more…

By Tiffany Trader

SLATE Update: Making Math Libraries Exascale-ready

August 9, 2018

Practically-speaking, achieving exascale computing requires enabling HPC software to effectively use accelerators – mostly GPUs at present – and that remain Read more…

By John Russell

Summertime in Washington: Some Unexpected Advanced Computing News

August 8, 2018

Summertime in Washington DC is known for its heat and humidity. That is why most people get away to either the mountains or the seashore and things slow down. H Read more…

By Alex R. Larzelere

NSF Invests $15 Million in Quantum STAQ

August 7, 2018

Quantum computing development is in full ascent as global backers aim to transcend the limitations of classical computing by leveraging the magical-seeming prop Read more…

By Tiffany Trader

By the Numbers: Cray Would Like Exascale to Be the Icing on the Cake

August 1, 2018

On its earnings call held for investors yesterday, Cray gave an accounting for its latest quarterly financials, offered future guidance and provided an update o Read more…

By Tiffany Trader

Leading Solution Providers

SC17 Booth Video Tours Playlist

Altair @ SC17

Altair

AMD @ SC17

AMD

ASRock Rack @ SC17

ASRock Rack

CEJN @ SC17

CEJN

DDN Storage @ SC17

DDN Storage

Huawei @ SC17

Huawei

IBM @ SC17

IBM

IBM Power Systems @ SC17

IBM Power Systems

Intel @ SC17

Intel

Lenovo @ SC17

Lenovo

Mellanox Technologies @ SC17

Mellanox Technologies

Microsoft @ SC17

Microsoft

Penguin Computing @ SC17

Penguin Computing

Pure Storage @ SC17

Pure Storage

Supericro @ SC17

Supericro

Tyan @ SC17

Tyan

Univa @ SC17

Univa

  • arrow
  • Click Here for More Headlines
  • arrow
Do NOT follow this link or you will be banned from the site!
Share This