The Julia programming language is in focus this week in the city, as the largest conference of the year for the technology’s community is being held this week at the University of Maryland, Baltimore.
With events through Friday, July 26, JuliaCon is bringing together about 400 attendees to discuss how they’re solving problems using the programming language. Talks are at SMC Campus Center, with workshops at the University of Maryland School of Pharmacy.
First appearing in 2012, Julia is designed to be useful in scientific computing, as well as machine learning. Its community has grown to include developers, academic researchers, scientists and others interested in the language’s benefits.
“Julia is a unique language because it is an easy-to-use, high-level language like R or Python, but is as fast as C or Fortran,” said Christopher Rackauckas, the programming chair of JuliaCon who is an applied mathematics instructor at MIT and a senior research analyst at the School of Pharmacy’s Center for Translational Medicine. “This means you can be productive, but your code will be as fast as well-engineered high-performance computing code. This democratizes the building of large-scale, accurate simulations of physical and biophysical phenomena,” such as biological and climate models.
It’s being used across many disciplines, which is on view at the conference.
“People are mixing medicine, differential equations, machine learning, GPU-parallelism and interactive visualizations in ways that were not possible before the advent of this technology,” Rackauckas said.
— Julia Computing (@JuliaComputing) July 23, 2019
The volunteer committee organizing the conference chose Baltimore as this year’s location in part for its proximity to federal government institutions.
“We decided to host the conference in Baltimore because the Julia community is becoming increasingly important to government agencies, such as the FDA, NIH and USAF, and the proximity to them allowed many more to participate,” Rackauckas said.
And the connection to Julia specifically comes even closer to home: Coinciding with the event this week, School of Pharmacy faculty are launching a new tech platform, Pumas, that is written entirely in Julia.
Pumas was launched by Vijay Ivaturi, Ph.D., an assistant professor in the Department of Pharmacy Practice and Science, and Joga Gobburu, a professor in that department. The two cofounded a company called Pumas-AI, which partnered with Julia Computing (which is a company distinct from the Julia language itself) to develop the software. Rackauckas also led research and software development on the effort, with input from Dr. Joakim Nyberg, of Uppsala, Sweden.
The software is designed for researchers in the pharmaceutical industry, as well as clinicians, academics and nonprofits, and the company overall is focused on improving the success rates of patient care and treatments, said Gobburu. Toward that end, Pumas is designed to help users create tools that provide more individualized care for patients using data.
A clinical trial for a drug is often based on an average patient, but access to more data within the health system can provide insight into more specific types of cases, as well areas like what happens after a patient begins a treatment, Gobburu said. Pumas is designed to provide data analysis capabilities that can play a role in models for how a treatment will work in a given patient.
“As the system gains more and more experience, and more and more patients with different demographics, the system becomes that much more intelligent in coming up with predictions,” said Gobburu.
The software will initially be free to download for noncommercial users, he said, and Pumas-AI wants to work with community members as it looks to enhance the tool.
The conference will also see the release of a new multithreading feature during the conference through a prerelease of Julia v1.3. It adds an interface that’s found in more esoteric languages, but not in popular languages like Python, R or MATLAB.
“This will allow programs to easily make use of all of the cores in one computer, and Julia will take care of the scheduling so that no parallelized packages collide. This means that it is safe for every package to auto-parallelize, meaning that soon the end user will get completely parallelized code without having to do anything,” Rackauckas said.