Julia is a modern open-source language and unified ecosystem for science. Powered by the widely vendor-adopted LLVM compiler infrastructure, Julia attempts to close the gaps in high-productivity and high-performance, in which the combination of Python with traditional compiled languages C, C++ and Fortran and their ecosystems, Python+X, can be a costly development and maintenance investment for scientific projects. Julia offers out-of-the-box abstraction for multidimensional arrays, access to CPU and GPU computing, a rich mathematical standard library, and a high-level interface for data analysis, visualization and interactive computing (the Julia REPL, Jupyter and Pluto.jl notebooks). In addition, several aspects that traditionally belong to a language ecosystem are core aspects of Julia: packaging, reproducible environments, powerful macros metaprogramming for code instrumentation (profiling, testing, etc.) and interoperability with existing Fortran, C and Python codes. Thus, Julia provides an interesting investment when trying to find a balance between development costs and scientific discovery.
Aims and Scope
After a successful first edition in 2022 with 101 registrations, lightning talks and discussion sessions, the Second Julia for ORNL Science Workshop, JuFOS 2024, invites the lab's scientific community to share current challenges and opportunities for their computing needs. We aim to provide a venue to discuss the potential of Julia as a language for science, and its ecosystem, current uses, and community status updates. Our goal is to provide a venue to exchange research and development ideas about current state-of-the-art development of scientific codes at ORNL and potential collaborations and investments around a relatively new language designed for science. We welcome applications from the wide range of experimental, observational, high-performance computing (HPC) projects at ORNL.
Call for Lightning Talks
We invite ORNL participants to present a 3 to 5 minute lightning talk that aligns with the scope of the workshop (option provided in the registration form). Talks are meant to be informative, (e.g. requirements for high-level languages) and not restricted to the topics below.
Topics:
- Experiences using Julia in experimental, observational science
- Experiences using Julia in heterogeneous HPC (CPU, GPU, network, I/O, etc.)
- Existing co-design challenges in C, C++, Fortran, Python: packaging, performance, composition, programming models
- Status and roadmap of languages for scientific computing
- Artificial Intelligence, Machine Learning (AI/ML) workflows
- Experiences with high-level/modern languages (Python, R, Julia, Rust) in science
- Ecosystems for Reproducibility and Performance Portability
- Community codes written in Julia
- Julia as a language for teaching computational science concepts
- Interactive data analysis and visualization (Jupyter, Pluto.jl)
- Julia for research software engineering
- High-level languages for rapid prototyping
- Requirements for high-productivity + high-performance
Registration
While this is a hybrid event, we encourage in-person participation for the morning, working lunch, lightning talks and panel sessions to learn more about the language and its community. We invite attendees to share their work regarding with the lab community by submitting a 3-5 minute lightning talk. Lunch, snacks and coffee will be provided for in-person attendees. Virtual attendees will receive a Zoom link to join the event.
Registration Link: Please register for virtual participation by June 17th 2024 using this link.
The registration form includes the option to propose a lightning talk.
- Registration is required for
in-person and(venue at full capacity) virtual meeting option via Zoom - Only virtual registration is open, in-person registration is closed due to the venue’s maximum capacity
- Registration is completely free, requieres an @ornl.gov email or ORNL PAS access - interns and postdocs are welcome
Virtual Tutorial Events
These virtual events are offered the week of the workshop. Separate registration is required, please visit the events site. Registration for the workshop DOES NOT include registration for the virtual tutorials.
- Julia for HPC: Tuesday, June 18th 2024, 1:00pm-4:00pm
- Intro to Julia for Science: Friday, June 21st 2024, 1:00pm-4:00pm
Agenda
Thursday, June 20th 2024 at the JICS Auditorium, Building 5100
Time | Session | Presenter |
---|---|---|
Morning | ||
10:00am-10:30am | Welcome, updates, brief intro to Julia | William Godoy |
10:30am-11:00am | LLMs and easy performance portability with JACC.jl in Julia | Pedro Valero-Lara |
11:00am-11:45am | Invited Talk: “Sunny.jl: lessons learned from a DOE scientific application” | Kipton Barros, LANL |
11:45am-12:10pm | Break | |
Working Lunch | ||
12:10pm-12:50pm | Invited Talk: “Heterogeneous computing with the Julia language: from A64FX to the IPU” | Mosè Giordano, UCL/ARC, UK |
12:50pm-1:00pm | Break | |
Afternoon | ||
1:00pm-2:00pm | Lightning Talks/Panel Session 1: Methods and Infrastructure | Session Chair: Het Mankad |
JuliaIRIS: Julia with IRIS Heterogeneous Runtime System | Narasinga Rao Miniskar | |
Performance Portability with Julia: My Internship Experience | Claire Winogrodzki | |
Julia Implementation of a Fast Heuristic Solver for Binary Optimization | Ryan Bennink | |
Evaluation of the convolution operator in a Julia machine learning library | Zheming Jin | |
Novel iterative methods for multiphysics problems | Nicolás Barnafi | |
Pkg - Julia’s Integrated User-Friendly Package Manager | Kelly Tang | |
The Experimental Computing Laboratory (ExCL) | Steven Moulton | |
Panel Discussion | ||
2:00pm-2:15pm | Break | |
2:15pm-3:45pm | Lightning Talks/Panel Session 2: Applications | Session Chair: Het Mankad |
Harnessing the Power of Sets in Julia | Youngsung Kim | |
Integrating high-throughput ODEs and Molecular Language Models in Julia and Pytorch | Zachary Fox | |
Node-level regression task to predict vaccine hesitancy from graph learning | Sifat Afroj Moon | |
Remotely-sensed change detection with Julia | David Hughes | |
AutoCSM - Automating Supercomputer Cooling System Model Generation | Scott Greenwood | |
Must.jl Multiple Scattering Theory for First Principles Calculations of Materials | Markus Eisenbach | |
Julia for HPC- Porting to AMD GPU devices for Climate Applications | Antigoni Georgiadou | |
Integrating Julia and OLCF HPC infrastructure to enhance SNS data processing capabilities | Steven E. Hahn | |
Panel Discussion | ||
3:45pm-4:00pm | Closing remarks, adjourn | Pedro Valero-Lara, William Godoy |
Organizers
- William F Godoy
- Pedro Valero-Lara
- Het Mankad
- Steven E. Hahn
- Keita Teranishi
- Jeffrey S Vetter
- Rafael Ferreira da Silva
- Corinna Thomas
Sponsors
-
The Computer Science and Mathematics Division/Advanced Computing Systems Research Section