JuliaCon 2023
Why to wait hours for computations to complete, when it could take only a few seconds? Tired of prototyping code in an interactive, high-level language and rewriting it in a lower-level language to get high-performance code? Unsure about the applicability of differentiable programming? Or simply curious about parallel and GPU computing and automatic differentiation being game changers in physics-based and data-driven modelling.
Come and help us circulate the love for lumped parameter modelling with CirculatorySystemModels.jl, a fast, friendly, flexible and functional circulatory modelling framework. In this workshop participants will be helped to run and analyze a lumped parameter model, embodying the statement "if you can draw it you can model it". We will guide users through the specifics of how they can then begin to develop their own advanced features utilizing the dependent package ModelingToolkit.jl.
The objective of this workshop is to give exposure for using various digital image processing methods in Julia. JuliaImages hosts the major Julia packages for image processing in which Images.jl provides access to various algorithms acting as the umbrella package. The applications of Image processing are found in areas such as machine vision, biomedical image processing and remote sensing. This workshop will help the Julia enthusiasts/scholars to get trained in Julia based image processing .
Integrated Assessment Models (IAMs) are scientific models which enable the evaluation of the social and economic impact of environmental policies. WorldDynamics.jl is an open-source package that allows the development and reproduction of modern and historical IAMs in Julia. In this workshop, we demonstrate the main functionalities of the package while guiding the audience with comprehensive hands-on examples.
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
Although Julia is a growing, fast language with relatively easy syntax, and thus quite a productive language, its popularity still seems enormously lopsided towards the scientific community. Thus it can be quite an intimidating language and community for newbies without heavy or good scientific or mathematical background to get into.
To address the intimidation above, I would like to propose this workshop, where we'll build and deploy a REST project for the web, a ubiquitous technology.
Learn how to create production ready data applications and interactive data exploration dashboards in Julia, using Genie.
NeuralODEs lead to amazing results in academic examples. But the expectations are often being disappointed as soon as one tries to adapt this concept for real life use cases. Bad convergence behavior, handling of discontinuities and/or instabilities are just some of the stumbling blocks that might pop up during the first steps. During the workshop, we want to show how to integrate real life industrial models in NeuralODEs using FMI and present sophisticated training strategies.
Data scientists need to work with various data sources and sinks in their projects. During the workshop I you will learn how you can work with standard data formats using DataFrames.jl. A special focus will be put on working with data that is larger than available RAM.
Get a delicious breakfast.
Welcome to the opening ceremony of JuliaCon 2023! Join us as we kick off this exciting conference with a warm welcome, keynote speeches, and announcements about what's in store for the week. Get ready to meet new colleagues, exchange ideas, and discover the latest in Julia programming. Let's get started!
Timothy A. Davis, PhD, is a Professor in the Computer Science and Engineering Department at Texas A&M University, and a Fellow of SIAM, ACM, and IEEE. He serves as an associate editor for the ACM Transactions on Mathematical Software. In 2018 he was awarded the Walston Chubb Award for Innovation, by Sigma Xi.
We are interested in exploring different aspects how Julia programming language can be applied to certain interesting usecases in the actuarial and financial space. In addition we may also provide commentary on when to use certain languages in terms of productivity and performance.
We demonstrate a set of pure Julia packages to interactively reconstruct and render Neural Radiance Fields (NeRFs), a 3D neural representation of a scene from pictures, using heterogeneous kernel programming. This system was developed at AMD and supports other GPU backends as well.
Climate change is leading to an increase in natural disasters, such as floods and earthquakes, which can damage critical infrastructure like hospitals and schools. To address this problem, we propose a project that uses evolutionary algorithms to design facility placements that are robust to disaster. By using evolutioanary algorthims as a metaheursitc solution to the p-median problem, we are show that our approach leads to facility layouts that are more robust to natural disasters.
I present on a package under development, HighDimMixedModels.jl, for fitting high dimensional mixed effect regression models. The motivation comes from analysis of microbial datasets, but the model is well-suited to many settings across bioinformatics. In my poster, I explain the usage of the package as well as the underlying statistical theory.
In this work, the first steps for the creation of a Julia package for the interaction with the GPIO and camera ports of a Jetson Nano are presented.
The input and output modes of the GPIO ports are addressed, while the problem of reading data using PWM is discussed.
In addition, interaction with the camera module for the Jetson Nano using the Julia interface is shown.
Working with OMOP CDM involves managing large datasets, requiring efficient data extraction tools. To enhance JuliaHealth's infrastructure, we'll expand tools and enable diverse database connections. This aids in developing a patient-level prediction framework for cohort outcomes, tested on mimic and real patient data. The poster is influenced by a Google Summer of Code project, sharing aspects of this journey.
Computational workflows and pipelines are essential in large-scale data analysis and bioinformatics. Here, we present Pipelines.jl and JobSchedulers.jl, as the reproducible and scalable pipeline builder and workload manager. Pipelines.jl provides simple but powerful methods to wrap Julia function or external command, and provide data and dependency validation, and job re-try or skipping. JobSchedulers.jl can allocate CPU and memory to jobs and defer a job until other jobs are finished.
We demonstrate how to use NCI services to run and profile Julia code at scale.
Dr. Rackauckas is a Research Affiliate and Co-PI of the Julia Lab at the Massachusetts Institute of Technology, VP of Modeling and Simulation at JuliaHub and Creator / Lead Developer of JuliaSim. He's also the Director of Scientific Research at Pumas-AI and Creator / Lead Developer of Pumas, and Lead Developer of the SciML Open Source Software Organization.
This talk presents performance improvements in a parallel time-domain simulation toolbox under development in Julia for executing simulations of power system dynamics. The algorithm applies a branch splitting parallel-in-space decomposition scheme to create parallelizable subnetworks in the network solution of the power system analysis problem. The performance of the improved algorithm is evaluated on a supercomputing cluster and shows enhanced computation speedup in complex networks.
Removing sources of large errors in financial data leads to an analytical solution for portfolio optimization that is more stable and performant than several tested alternatives
We introduce Ignite.jl, a package that streamlines neural network training and validation by replacing traditional for/while loops and callback functions with a powerful and flexible event-based pipeline. The key feature of Ignite.jl is the separation of the training step from the training loop, which gives users the flexibility to easily incorporate events such as artifact saving, metric logging, and model validation into their training pipelines without having to modify existing code.
In the machining of cast blank parts, small geometrical deviations between different lots of blanks can cause serious issues. These differences need to be compensated to 1) make sure that every feature on the blank is properly machined and 2) dimensional tolerances between features are respected. This poster shows via a case study in drilling that Julia is a great tool for solving this problem, including the steps of data processing, optimization, and visualization.
This talk covers NLP analysis with Julia, with a focus com graph analysis.
A basic pipeline is shown, including pre-proccessing graph and semantic embeddings with TextGraphs.jl.
We briefly study the insides of this package along with an use case. For this, the heteronyms of Portuguese poet Fernando Pessoa are contrasted with each other. We see how speech structural properties reflect different writing styles.
Pre-recorded talks will be played in a playlist at 32-082 on Wednesday from 10 AM - 4 PM.
Julia is a 21st century programming language, and one of the advantages of this is to create a healthy and diverse community and share our experiences and issues and the internet.
We discuss the ctrl-VQE algorithm, a variant of the popular Variational Quantum Eigensolver for solving molecular electronic states which has the potential to reduce runtimes on a quantum computer by orders of magnitude. Our most recent implementation of ctrl-VQE using Julia allows us to simulate our algorithm much faster than our previous Python code, enabling a more thorough analysis which has revealed strategies to improve the runtime of the algorithm even more.
PerfChecker.jl is an early version of a set of tools I made to check the performance of the packages in JuliaConstraints over time and versions.
The user provides a set of instructions to run in the same vein as Test.jl that can be used for allocation checks and benchmarks. Finally, the results are plotted in function of the versions.
An example of the pipeline is available at https://github.com/JuliaConstraints/PerfChecker.jl
Quantum computing may be the technology that will change the financial industry. One of the potential use cases for quantum computers is derivative instrument pricing, this is a computationally demanding task with proven quadratic speed-up on the quantum machine.
The goal of the talk is to show how to do this using Julia's library QuantumCircuits.jl.
Evolutionary relationships are often depicted in tree structures where internal nodes represent ancestral species and external nodes represent extant species, but directed networks are often necessary. Many species tree and network estimation procedures first estimate a set of gene trees from sequence data. The proportion of these gene trees that do not necessitate a network model is biologically interesting. In RANSANEC.jl, we expand random sample consensus to tree-space to tackle this problem.
The Engineering, Economic, and Environmental Simulation Tool (E4ST) is a detailed power sector model from Resources for the Future for comprehensive cost-benefit analysis of policies and investments in the electricity sector. Originally written in MATLAB on top of MATPOWER, E4ST.jl is the Julia rewrite of the model, using JuMP, and Julia’s multiple dispatch programming paradigm to allow users to specify novel climate policies, introduce new technologies, and change spatial/temporal resolution.
Taking higher-order derivatives is crucial for physical models like ODEs and PDEs, and it would be great to get it done by automatic differentiation. Yet, existing packages in Julia either has exponential scaling w.r.t. order (nesting first-order AD) or has exponential scaling w.r.t. dimension (nested Taylor polynomial in TaylorSeries.jl). The author presents TaylorDiff.jl (https://github.com/JuliaDiff/TaylorDiff.jl) which is specifically optimized for fast higher-order directional derivatives.
Sponsor talk of JuliaHub, platinum sponsor at JuliaCon.
We present a JuMP-based solver that combines a nested primal-dual decomposition technique and convex relaxation approaches for tackling non-convex multi-stage stochastic programming problems. The approach addresses optimal long-term water supply infrastructure planning with feasibility constraints at operational timescales. We combine an outer primal decomposition of planning stages and inner dual ones of operating scenarios, with convexified non-anticipative constraints relaxed for scenarios.
VLLimitOrderBook.jl is a package written in Julia that simulates order book dynamics and matching for equities, options, and cryptocurrency orders. The orders in the book are stored in an AVL Tree data structure and prioritized based on price and time.
Thank you to ASML, gold sponsor at JuliaCon 2023!
Working as a technical writer at FluxML for the past six months has taught me some tips and tricks for writing and maintaining user-centric documentation. Documentation not only requires writing clear and concise content but also building infrastructures, testing, and a lot of discussions. This talk takes all the lessons I learned (myself and through FluxML maintainers) in the past six months and condenses it into 3 minutes!
Unlike in Online RL where agents need to interact with real environment, Offline RL works similar to a typical machine learning workflow. Given a dataset, Offline RL processes data extracting state, action, reward, and terminal columns to optimize the policy Q. By wrapping up offline RL into the AutoMLPipeline workflow, it becomes trivial to search for the optimal preprocessing elements and their combinations to improve Offline RL optimal policy using symbolic workflow manipulation.
We present RxInfer.jl, which is a Julia package for automated and fast Bayesian inference in a probabilistic model through reactive message passing on a factor graph representation of that model. RxInfer.jl unites different Julia packages and forms a user-friendly ecosystem for efficient real-time Bayesian processing of infinite data streams.
Historical data is useful in the financial industry, particularly for back-testing trading strategies. However, a single machine can't store real-time data for even a single ticker symbol. Thus, constructing a distributed scalable computer system to persist real-time financial data requires time and a significant financial commitment. Using cloud computing services reduces this barrier. This talk describes a real-time cloud-based financial data streaming and storage system implemented in Julia.
There is a compelling opportunity for scientists and engineers to leverage their proficiency in mathematics combined with artificial intelligence and data science tools to drive value creation within businesses and ultimately democratize wealth through quantitive finance approaches. Toward this opportunity, this poster describes a course piloted at the Smith School of Chemical Engineering at Cornell University during Spring 2022 to teach quantitative finance to engineers and scientists in Julia.
This talk will present some Julia tools and features that helped an apprentice research software engineer (and newcomer to Julia) adopt good software engineering practices.
In this work, we present progress towards the development of a new code written in the Julia programming language for evaluating global (linear) ideal MHD stability in stellarator geometry. We demonstrate the code’s efficiency and robustness which is achieved through leveraging methods provided by high-performance mathematical libraries from the Julia community, such as Krylov subspace methods. Efficient evaluation of linear ideal MHD stability is crucial for stellarator optimization.
Vahana.jl is a new open-source high-performance software framework for development of large-scale agent-based models (ABM) of complex social systems.
Vahana models are expressed as synchronous graphic dynamical systems (SyGDS). This allows Vahana to run a simulation in parallel and to distribute the simulation across multiple nodes of a cluster. New extensions to the traditional SyGDS approach allow the implementation of complex ABMs.
Presentation of results from this year's Julia Developer Survey and discussion of progress made.
We present ModelOrderReduction.jl -- a Julia package for the automatic simplification of scientific models by way of symbolic computation. As such, ModelOrderReduction.jl enables modelers without detailed knowledge of the domain of model order reduction to automatically generate simplified models that approximate the dominant behavior of otherwise too complex ones.
We introduce ODINN.jl, an open-source package that uses Universal Differential Equations to model and discover physical processes of climate-glacier interactions. We show how ODINN incorporates tools from the SciML ecosystem (differential equation solvers, automatic differentiation) to recover prescribed laws inside the differential equation describing glacier ice flow, paving the way for functional inversions of empirical laws governing glacier physical processes at a global scale.
Morning break for coffee and snacks
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
The development of a satellite attitude and orbit control subsystem (AOCS) imposes challenges since the dynamics cannot be reproduced on the ground. The entire process relies on simulation. We developed a novel workflow that improved productivity by using the outstanding adaptability of the Julia language and its ecosystem. We could adapt a validated simulator to test and verify all the AOCS algorithms at each development phase, drastically reducing error propagation and, consequently, test cost
SnoopCompile has a feature of timing the time spent in LLVM to optimize Julia code. This is a talk sharing my experiences using the macro snoopl to debug the time spent optimizing each function in LLVM.
Compressed sensing is an area of mathematics increasingly being applied in magnetic resonance imaging. MRI imagery is highly sparse and noisy making it an appropriate application to use these techniques. Compressed sensing complements existing techniques such as JPEG compression in computationally intensive applications such as MRI image processing to reduce acquisition time, in AI training time and can be used to build more robust systems with greater resilience to noise.
Despite many efforts, it can be difficult to find good abstractions that are efficient on both CPU and GPU code. In our effort to add GPU support to ClimaCore.jl, we have established with several useful patterns for describing common spatial operations at a high-level, which can then be specialized in different ways to different computational backends.
In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.
Sole.jl is a framework for symbolic learning, i.e., machine learning with symbolic logic.
It comprehends packages for:
- Computational logic (SoleLogics.jl);
- Operating with multimodal (un)structured data (SoleData.jl, SoleFeatures.jl);
- Learning, inspecting and analyzing symbolic models (SoleModels.jl, SolePostHoc.jl).
Have you ever wondered how to bind a thread to a specific CPU-core in Julia? And why that might be useful in the first place? Then this talk is for you! I demonstrate how to easily query and control the affinity of your Julia threads using ThreadPinning.jl and present instructive examples that highlight the importance of thread pinning, especially on HPC clusters.
I'll present Qurt.jl, a package for creating and transforming quantum circuits. I'll do a
brief demo, including the obligatory, slick, macro-enabled builder interface. I'll show how
it is faster than some Python-Rust and C++ implementations.
QuantumOptics.jl is a numerical framework for simulating quantum systems. It provides a very general set of tools that go far beyond quantum optics. We recently added "time dependent operators", which allow easy creation and composition of time-dependent Hamiltonians and Lindbladians for use inn dynamical simulations. This talk briefly introduces the QuantumOptics.jl and these convenient new time-dependence features.
With a low barrier to entry and a large ecosystem of tools and libraries that allow quick prototyping, Julia has great potential for geospatial development. SARProcessing.jl is a much open-source project with the aim of making SAR data processing easy and fast for everyone. This talk provides a gentle hands-on introduction to setting up and enjoying the SARProcessing.jl package.
The Julia ecosystem has super fast and performant packages, but not always upon first use. This may be alleviated using system images and this talk presents a convenient workflow to ship them. Additionally, it discusses various challenges when doing so and shares our experience in reliably tackling them.
In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.
DyVE (Dynamics of Value Evolution) is an open source framework, aimed at designing, fitting, and integrating complex real-world process models; accounting for the accrual of costs and rewards; and supporting complex decision making, particularly in pharmaceutical R&D and business.
Process specifications are compact and algebraically composable. Uncertainty about model values or structure is supported. DyVE is interoperable with Scientific Machine Learning (SciML).
Exploring the use of Julia, in analyzing biological data. Discussion of libraries and packages, challenges and opportunities of using machine learning on biological data, and examples of past and future applications.
HDF5.jl is a Julia package for reading and writing data using the Hierarchical Data Format version 5 (HDF5) C library. HDF5 is a flexible, self-describing format suitable for storing complex scientific data, and is used as a container for many other formats.
This talk will give an overview of the HDF5 format and give an introduction and examples of basic usage of the HDF5.jl package. We will highlight some recent features and discuss future plans for the package.
IsDef.jl provides maintainable type inference in that it
1. Uses code generation where possible to deterministically infer the types of your code
2. Allows you to overload type-inference with your custom implementation
3. If neither code generation works nor a custom type inference rule is given, it falls back to Core.Compiler.return_type, wrapped by some safety nets
In this talk IsDef.jl is presented, along with typical applications and details about the implementation.
A community of Julia developers working with Earth Observation was brought together at the JuliaEO2023: Global Workshop on Earth Observation with Julia. 300 hundred people registered and 40 attended in person. All major aspects were covered: big geospatial data, remote sensing, data processing, visualization, modelling, data science, machine learning, artificial intelligence, and cloud computing. A Docker container and a Dataverse archive complement the notebook collection for reproducibility.
Box-constrained optimization problems are ubiquitous in many areas of science and engineering. Our package includes methods tailored to this class of optimization problems. Due to Julia's Iterator
interface, Progradio's solvers can be paused, resumed, or terminated early. Since the first release, we have included a stricter line-search procedure, and support for simplex constraints (Σ x_j = 1). Progradio's unique features make it attractive to be used as a sub-routine for dynamic optimization.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
Ocean robots and satellites collect crucial data to monitor, understand, and predict climate change. Our digital twin framework accesses & simulates these complex data sets. It leverages multiple Julia packages developed by the author and linked organizations. This talk focuses on numerical modeling and artificial intelligence components of the DT framework. It touches on all major elements of the global observing system along with expected scientific, societal, and commercial applications.
Reliable numerical computations are central to HPC and ML. We present FlowFPX, a Julia-based tool for
tracking the onset and flow of IEEE Floating-Point exceptions that signal numerical defects. FlowFPX’s
design exploits Julia’s operator overloading to trace exception flows and even inject exceptions to accelerate
testing. We present intuitive visualizations of summarized exception flows including how they are generated,
propagated and killed, thus helping with debugging and repair.
Phylogenetic networks represent the evolutionary process of reticulate organisms by the explicit modeling of gene flow. While most existing network methods are not scalable to tackle big data, we introduce a novel method to reconstruct phylogenetic networks based on algebraic invariants without the heuristic search of network space. Our methodology is available in the Julia package phylo-diamond.jl, and it is at least 10 times faster than the fastest-to-date network methods.
We present the Decision Programming framework for solving multi-stage stochastic problems. The problem is first formulated as an influence diagram and then converted to a mixed-integer linear programming problem. The DecisionProgramming.jl package is implemented as an extension to JuMP, taking advantage of the versatility of JuMP in using different solvers and accessing different solver attributes.
Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?
In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.
BioMakie.jl provides plotting methods for protein data such as structures and multiple sequence alignments. Interactive elements allow users to give additional functionality to plotted data, to facilitate inspection, manipulation, and presentation. A simple event handling system enables custom triggers and synchronization. Plotting and interface tools are further extended via Julia's interoperability with other programming languages.
Identified 4 Multiple Sclerosis drugs: Gilenya, Tysabri, Copaxone, and Tecfidera as the basis for conducting a manual textual analysis from feedback provided by patients at WebMD website. The objective was two fold: (1) complete a textual analysis, evaluating, on the dimensions of Ease of Use,
Effectiveness, and Satisfaction. After categorizing different feedback into various groups, these data were visualized and analyzed using Julia
The parquet tabular data storage format has become one of the most ubiquitous, particularly in "big data" contexts where it is arguably the only binary format to successfully supplant CSV. Despite this, there are relatively few implementations of parquet, which, historically, has presented challenges for Julia. I will give a brief overview of Parquet2.jl, a pure Julia parquet implementation including comparison to other tools and formats and what is still needed to reach parity with pyarrow.
Design patterns offer general solutions to common problems and it is standard practice to include them in software development. On the other hand, Anti-Pattern is a complement to Design patterns. While design patterns focus on how to do things by following best practices, Anti-patterns focus on how not to do things. In this talk, I will speak about anti-patterns in Julia and their worst practices. The talk follows the problem-solution approach.
SymbolicRegression.jl is a state-of-the-art symbolic regression library written from scratch in Julia using a custom evolutionary algorithm. The software emphasizes high-performance distributed computing, and can find arbitrary symbolic expressions to optimize a user-defined objective – thus offering a very interpretable type of machine learning. SymbolicRegression.jl and its Python frontend PySR have been used for model discovery in over 30 research papers, from astrophysics to economics.
Julia 1.9 provides remarkable facilities for sorting including lightning fast default algorithms and an extensible system that supports both package authors who provide additional sorting options and users with domain-specific knowledge about their input distributions. This talk explains the Julia sorting pipeline: how these features are made possible and how you can benefit from using them.
The QuantumControl.jl
package provides a framework for open-loop quantum optimal control: finding classical control fields to drive the dynamics of a quantum system in a particular way, e.g., to create a particular entangled state or to realize a quantum gate.
Synthetic Eddy Methods (SEM) are a family of techniques used to generate realistic inflow data for Large Eddy Simulation (LES) simulation in fluid dynamics. This is one of the easiest and less memory-consumption inflow generators method. The package SyntheticEddyMethod.jl implements the SEM and recreates a statistically correct and coherent turbulent flow.
Learn how Julia, a high-performance programming language, can be used to analyze genomic data. Discussion of libraries, specific challenges and opportunities, past examples, and future possibilities of using Julia in genomic data analysis.
Gradient boosted trees are a wonderfully flexible tool for machine learning and XGBoost is a state-of-the-art, widely used C++ implementation. Thanks to the library's C bindings, XGBoost has been usable from Julia for quite a long time. Recently, the wrapper has been rewritten as 2.0 and offers many fun new features, some of which were previously only available in the Python, R or JVM wrappers.
We introduce the new package Peridynamics.jl, which allows users to perform simulations of fracture and damage with the fast performance of Julia. Peridynamics is a non-local formulation of continuum mechanics based on a material point approach that has been of increasing interest in recent years. The purpose of the talk is to give a short introduction to the package and to showcase its capabilities.
BiosimVS.jl: Virtual screening of ultra-large chemical libraries
Virtual screening (VS) is a computational technique used in drug discovery, enabling searching libraries of small molecules in order to identify those compounds that are most likely to bind to a drug target. We discuss the BiosimVS.jl package that enables virtual screening of ultra-large scale chemical libraries, containing billions of molecules.
In this talk I will detail about the effort to run Julia code on the Intelligence Processing Unit (IPU), a massively parallel accelerator developed by Graphcore and powered by 1472 cores.
NetworkHawkesProcesses.jl implements methods to simulate and estimate a class of probabilistic models that combines mutually-exciting Hawkes processes with network structure. It allows researchers to construct such models from a flexible set of model components, run inference from a list of compatible methods (including maximum-likelihood estimation, Markov chain Monte Carlo sampling, and variational inference), and explore results with visualization and diagnostic utilities.
Neuroblox.jl is a Julia module designed for computational neuroscience and psychiatry applications. Our tools range from control circuit system identification to brain circuit simulations bridging scales from spiking neurons to fMRI-derived circuits, parameter-fitting models to neuroimaging data, interactions between the brain and other physiological systems, experimental optimization, and scientific machine learning.
Package extensions are a new feature for packages available in Julia 1.9. It aims to solve the problem where you might be reluctant to take on a package as a dependency just to extend a function to a type in that package due to e.g. increased load time of the package.
Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?
Tensor networks have emerged as a versatile and efficient framework for analyzing a wide range of quantum systems. A key advantage lies in their ability to leverage the underlying structure of the problems they address. We present TensorOperations.jl and TensorKit.jl, which are designed to facilitate the seamless and efficient implementation of tensor network algorithms and incorporate arbitrary symmetries.
We introduce UnsupervisedClustering.jl, a package that implements traditional unsupervised clustering algorithms and proposes advanced global optimization algorithms that allow escape from local optima.
Polyhedra are at the foundation of many engineering tools such as Mixed-Integer Programming. Manipulating them can give key insights
AdaptiveHierarchicalRegularBinning.jl
computes a hierarchical space-partitioning tree for a given set of points of arbitrary dimensions, that divides the space and stores the reordered points offering efficient access. Space-partitioning data structures are vital for algorithms that exploit spatial distance to reduce computational complexity, see for example the Fast Multipole Method and Nearest Neighbors.
ITensor is a library for running and developing tensor network algorithms, a set of algorithms where high order tensors are represented as a network of lower order, and low rank, tensors. I will give an update on the ITensor Julia ecosystem. In particular, I will discuss efforts to support more GPU backends and block sparse operations on GPU, as well as ITensorNetworks.jl, a new library for tensor network algorithms on general graphs.
This past year, the CI ecosystem in Julia has seen some notable improvements. Attend this talk to learn how we’ve built workflows to support the growing needs of Base Julia CI, our friends at SciML and even some other ecosystem projects that require very wide platform testing. Our efforts have also made Base Julia CI more reliable, reproducible, and easily analyzed. This talk will showcase some of the tools available to ecosystem projects in need of a deeper degree of testing.
Point processes model the occurrence of a countable number of random points over some support. They are useful to describe phenomena including chemical reactions, stockmarket transactions and social interactions. In this talk, we show that JumpProcesses.jl is a fast, general purpose library for simulating point processes, and describe extensions to JumpProcesses.jl that significantly speed up the simulation of point processes with time-varying intensities.
The Julia ecosystem provides rich interoperability among Julia packages but it has been nontrivial to deploy functionality from a Julia package to non-technical users. Quickdraw is a simple combination of existing tools that installs a runnable app from any Julia package that defines a main
function. All the end user needs to do is run a single command; all the developer needs to provide is that command.
Dash.jl is the Julia version of Plotly's Dash, a framework for building data science web applications. Relying on the same frontend components (written in JavaScript) as the popular Python version of Dash, Dash.jl is a robust library and a trustworthy choice for Julia users. This talk presents industry-tested tips on how to write maintainable Dash.jl applications, Julian code patterns for Dash.jl as well as tricks to work around some of Dash.jl's limitations.
RelationalAI, Australia National University, MIT Julia Lab and JuliaHub present our work improving Julia's Garbage Collector performance and stability, and adding support for alternate GC backends, starting with the Memory Management Toolkit (MMTk).
JET.jl is a static code analyzer for Julia that is powered by Julia compiler's type inference system. This talk aims to introduce new features that have been added to JET over the past two years, as well as discuss the future plans of the project.
This talk introduces FuzzyLogic.jl, a library for fuzzy inference, giving a tour of its features and design principles. Write your fuzzy model with an expressive Julia-like DSL or read your existing model from common formats, tune and explore with available algorithms and visualization tools, and generate efficient stand-alone Julia or C++ code for your final model. Finally, the talk will show how to use the library to solve engineering problems in control theory and image processing.
This talk will illustrate the implementation of a pricing engine for the Reinsurance business, specifically for the Catastrophe Business. It will explain the specific problems we encountered at Ark Bermuda and the tools that Julia provides to aid in creating a corporate application
We have developed PackageAnalyzer.jl in order to analyze the whole open source Julia ecosystem, but it can also be used to analyze private registries and dependency graphs too. In this talk we will give an update on the growth of the Julia ecosystem and how well best-practices such as CI, tests, and documentation have kept up with this growth, as well as show you how to use PackageAnalyzer to easily analyze your own dependency graph.
Several large projects on Earth system modelling are based on Julia. In a field where Fortran traditionally dominates model development we want to gather developers to share how we build Earth system software in Julia. Instead of sharing project surfaces, this minisymposium wants to look deeper into their anatomy. The phoenix: are we reinventing traditional coding structures in a new language? Or the cyborg: does Julia allow us to replace these structures with new, enhanced machinery?
Understanding the performance of parallel code is tricky, however Julia can make it even more opaque: with asynchronous tasks, multithreading, distributed computing, garbage collection, GPU support and calls to many external libraries, getting a full understanding of what your code is doing can be rather complicated. This talk will describe how to use Nvidia Nsight Systems to understand what your parallel Julia code is doing.
Taking a break from nonstop quantum information to recharge.
The first version of Modelica was released in 1997. Today, over 25 years later, it is still going strong. At the same time, Julia is taking the numerical computing world by storm and ModelingToolkit is revisiting many of the topics and applications that drove the development of Modelica. This talk will highlight many of the important aspects of Modelica's design in the hope that these are taken to heart by the developers of the next generation of modeling and simulation tools.
For the real-time online risk assessment in case of hazardous material release into the atmosphere, Genie.jl has been used to build a web service to run atmospheric dispersion models upon client requests that follow the OpenApi specification. Typical issues related to web API development have been addressed (authentication, DB management, server-to-client communication...). Moreover, multiple Julia packages for running dispersion models and operating on geospatial data have been developed.
Expronicon is a toolkit for metaprogramming in Julia, offering a rich set of functions for analyzing, transforming, and generating Julia expressions, first-class support of MLStyle's pattern matching, and type-stable algebra data types for efficient and simple code generation. Perfect for boosting productivity and improving coding efficiency.
The MarkdownAST.jl package provides the APIs to work with Markdown documents in an abstract syntax tree (AST) representation. It positions itself as an interface package between packages that can generate the AST (e.g. parsers), and code that consumes it (e.g. renders).
In this talk, I will introduce the algorithms used to find optimal
contraction orders for tensor networks, which are implemented in the
OMEinsumContractionOrders.jl package. These algorithms have a wide range of
applications, including simulating quantum circuits, solving inference
problems, and solving combinatorial optimization problems.
We present an approach to quickly assemble fully personalized voice assistants with JustSayIt.jl. To assemble a voice assistant, it is sufficient to define a dictionary with command names as keys and objects representing actions as values. Objects of type Cmd
, for example, will automatically open the corresponding application. To define application-specific commands - a key feature for voice assistants - a command dictionary can simply be tied to the Cmd
-object triggering the application.
ScratchQuickSort is a novel variation on QuickSort that is typically faster, always stable, and now Julia's default sorting algorithm for generic data.
Meta analysis is a widely used statistical technique for pooling diverse study results. Julia does not have a meta analysis package. The goal of this talk is to present the steps and usage of a meta analysis package in pure Julia that I have developed and is in pre-alpha stage. I will explain the steps and processes of implementing fixed-effects and random-effects meta-analysis in Julia and construction of several plotting functions and advanced methods that are unique features of this package.
Standard use cases for Julia appeal to the scientific community writ large. In contrast, Julia has not been widely adopted the public policy community. This talk is meant to demonstrate how Julia is useful for public policy through several use cases. These use cases are: Misinformation and Adversarial Machine Learning in decision critical systems
QuantumCumulants.jl is a package for the symbolic derivation of generalized mean-field equations for quantum mechanical operators in open quantum systems. The equations are derived using fundamental commutation relations of operators. When averaging these equations they can be automatically expanded in terms of cumulants to an arbitrary order. This results in a closed set of symbolic differential equations, which can also be solved numerically.
Automatic differentiation (AD) is great: use gradients to optimize, sample faster, or just for fun! But what about coin flips? Agent-based models? Nope, these aren’t differentiable... or are they? StochasticAD.jl is an open-source research package for AD of stochastic programs, implementing AD algorithms for handling programs that can contain discrete randomness.
The Julia extension for VS Code provides features that help with developing Julia packages and ease interactive coding. It is widely used in the Julia community and sees continuous development. This talk will go over features and enhancements introduced since last JuliaCon as well as future developments.
My super tiny helpers which may also help you. Let me present to you SimpleMatch.jl for nice inline dispatch, NotMacro.jl for using @not
instead of !
, and ProxyInterfaces.jl for quickly creating proxy types for Dicts
, Arrays
, etc..
The design of quantum hardware and the study of quantum algorithms require classical simulations of quantum dynamics. A rich ecosystem of simulation methods and algorithms has been developed over the last 20 years, each applicable to different sub-problems and efficient in different settings. We present a family of symbolic and numeric Julia packages that abstract away many of the methodology decisions, providing a way to focus on the hardware under study instead of the minutia of the methods.
ITensorNetworks.jl is an experimental package which aims to provide general tools for working with higher-dimensional tensor networks based on ITensors.jl. Among many novel features, I will focus on the generalization of one-dimensional sweeping algorithms to systems with arbitrary tree-like geometries, and highlight some promising applications.
ITensorNetworks.jl is a new Julia package for manipulating and optimising tensor networks of arbitrary structure. I will introduce methods available in the package for evolving these tensor networks in time, allowing the simulation of a wide range of problems in many-body quantum systems.
I will then demonstrate the application of these methods to simulate the kicked Ising model on the heavy-hex lattice.
Come check out this years JuliaCon 2023 posters. Poster session will happen in Stata and there will be food around.
In recent years the Julia language has seen increasing adoption in the quantum community, broadly defined. We propose to organize two back-to-back minisymposia on the theme of "Julia and quantum," including quantum computing, condensed matter physics, quantum chemistry. The talks would be addressed to both current and future experts.
Anybody who works with data is likely to face with challenges to understand the underlieing data. Many times we use boilerplate codes. Boilerplate.jl is here to rescue and also we collected many more useful code.
Julia is different from CPP for many reasons. Path of the process is the learning curve for many new academics and researchers joining the community in drove. There are many interesting obstacles and features that could bring Julia into a more mainstream choice for many academics.
Get a delicious breakfast.
Revisiting Grothendieck: Szemeredi regularity, random submatrices, and covariance loss
Dr. Chowdhury currently runs Parity Consulting, Parity Responsible Innovation Fund, and is a Responsible AI Fellow at the Berkman Klein Center for Internet & Society at Harvard University. She is also a Research Affiliate at the Minderoo Center for Democracy and Technology at Cambridge University and a visiting researcher at the NYU Tandon School of Engineering.
Spotlight on Structure: from Matrix to Tensor Algebra for Optimal Approximation of Non-random Data
Alex Townsend: Avoiding Discretization Issues for Nonlinear Eigenvalue Problems
Elimination and Factorization
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Graphs (aka networks) are a key part of the data science pipeline at many organizations. However, scalability is the most frequently reported limitation by graph analysts. I introduce QuasiStableColors.jl
, a Julia library for approximate graph analysis. On tasks such as ranking node importance (centrality) it enables an over 10x speedup while introducing less than 5% error. In this talk, I will demonstrate how to use this novel graph compression for your own workloads.
We expose a problem of estimation of multivariate convolutions of gamma random variables, which has very bad numerical properties. This bad numerical behavior literally forced us to use Julia. We describe why Python, R or C++ were not capable of solving our problem and argue that the multiple dispatch paradigm in Julia was the reason we were able to reuse existing code.
The Julia for HPC minisymposium gathers current and prospective Julia practitioners from various disciplines in the field of high-performance computing (HPC). Each year, we invite participation from science, industry, and government institutions interested in Julia’s capabilities for supercomputing. Our goal is to provide a venue for showing the state of the art, share best practices, discuss current limitations, and identify future developments in the Julia HPC community.
The Scientific Machine Learning (SciML) ecosystem is rapidly gaining momentum within the field of systems biology. With this birds of feather discussion we want to bring the international community of systems biology tool developers and users at one table to (a) brainstorm promising routes for future developments, and (b) facilitate collaborative projects.
JuMP is a modeling language and collection of supporting packages for mathematical optimization in Julia. JuMP makes it easy to formulate and solve linear programming, semidefinite programming, integer programming, convex optimization, constrained nonlinear optimization, and related classes of optimization problems.
In this talk, we discuss the state of JuMP, preview some recently added features, and discuss our plans for the future.
The objective of this minisymposium is to gather people interested in working with tabular data to allow them to discuss various aspects of the Julia ecosystem in this area.
Learn about the new productivity features and performance improvements in Genie 6, the new major Genie release of 2023!
In field of aerodynamic is often required to test different geometries, most of them are standard airfoils. The aim is usually to identify promising geometry for a specific application. Many operations repeat mechanically, and are tedious and time consuming. In specific, the mesh creation is a fundamental but routine task, similar but not identical for all the airfoil and all the test cases. This is where GmshAirfoil.jl comes in handy.
This talk presents a new Julia package for efficient and generic Monte Carlo integration in high-dimensional and complex domains, featuring the Vegas algorithm for self-adaptive important sampling and an improved algorithm for increased robustness. The package demonstrates Julia's superiority over C/C++/Fortran and Python for high-dimensional Monte Carlo integration by enabling the easy creation of user-defined integrand evaluation functions with the speed of C and the flexibility of Python.
A new, high-order multi-physics code, Cygnus.jl, has recently been used to simulate portions of inertial confinement fusion experiments at the University of Rochester's Laboratory for Laser Energetics. Methods of parallelization, code design, performance characterizations, and lessons learned will be presented alongside simulation results.
Extended Kalman filters are super useful in robotics and embedded systems, but require the derivation of large state derivative matrices. Julia's symbolic manipulation facilities can make this much easier! I will introduce TinyEKFGen.jl, a Julia package that converts nice Julia expressions to embeddable C-code that works with the TinyEKF library, and show some examples usages (including one that runs in space!).
Koma is an MRI simulator utilizing CPU and GPU parallelization to solve the Bloch equations. Our simulator targets researchers and students, offering an easy-to-use GUI. The accuracy and speed of our simulator were compared against two open-source alternatives JEMRIS (C++, using an ODE solver) and MRiLab (C++ and CUDA). The results show that Koma can simulate with high accuracy (MAEs below 0.1% compared to JEMRIS) and better GPU performance than MRiLab.
In this presentation, we showcase using JuMP to formulate and solve a range of optimization problems related to the location and market bidding of energy management systems.
Chris Rackauckas: The Special Math of Translating Theory To Software in Differential Equations
In this talk we present feedback on our experience developing a large-scale energy system model, particularly concerning garbage collection pressure during model creation and methods for exploring parametric models.
This talk will present TimeStruct.jl, a package developed to support the modeling of optimization problems in JuMP involving time structurers with different resolution on an operational and strategic level. The package also supports multiple operational scenarios and strategic tree structures to model uncertainty at both operational and strategic level.
Energy system models are generally written in algebraic modelling languages like AMPL or GAMS. This both limits the extendibility of the models due to the structure of the languages and can be seen as a threshold due to the license costs for the languages. Julia with JuMP is an excellent alternative as it is both open source and allows for flexibility in model structure by using multiple dispatch. The model is a novel energy system model framework with easy extendibility and high flexibility.
Unapologetically Beyond Universality by Folkmar Bornemann
Graph alignment is the problem of recovering a bijection between vertex sets of two graphs, that minimizes the divergence between edges. This problem can be encountered in various fields where graphs are often very large, so an efficient algorithm is essential for many applications. In this talk we will discuss how to solve this problem approximately with the popular Fast Approximate Quadratic (FAQ) algorithm and its recent improved variants implemented in the Julia GraphsOptim.jl package.
The Julia for HPC minisymposium gathers current and prospective Julia practitioners from various disciplines in the field of high-performance computing (HPC). Each year, we invite participation from science, industry, and government institutions interested in Julia’s capabilities for supercomputing. Our goal is to provide a venue for showing the state of the art, share best practices, discuss current limitations, and identify future developments in the Julia HPC community.
Physiologically based pharmacokinetic (PBPK) models characterize a drug’s distribution in the body using prior knowledge. Bayesian tools are well suited to infer PBPK model parameters using the informative prior knowledge available while quantifying the parameter uncertainty. The presentation will review a full Bayesian hierarchical PBPK modeling framework in Julia, using the SciML ecosystem and Turing.jl, to accurately infer the posterior distributions of the parameters of interest.
The objective of this minisymposium is to gather people interested in working with tabular data to allow them to discuss various aspects of the Julia ecosystem in this area.
When starting a company built on mathematical concepts Julia seems like an obvious choice because of its capabilities for enabling rapid prototypes, rewrites, and pushing for performance early. This talk presents our journey to build a Julia production app. In particular, we present how we use a monorepo within a distributed team and how we set up our continuous-integration infrastructure. Finally, we introduce an open source project which aims to make it easier to write Julia serverless apps.
Planning trajectories for underactuated systems is a challenging problem in robotics. The dynamics governing such systems are quite complex, and mechanisms themselves have strict physical limits. In this talk, I will explain how we can use Julia (and packages from its robotics ecosystem) to frame motion planning problems as numerical optimisations. I will also share videos of robots solving practical tasks in the real world, tracking trajectories computed with this approach.
The talk focuses on the use of Julia in real-world aerospace applications in place of C++ for the purpose of simulating large, complex systems that interface with embedded hardware and software in real-time. Leveraging memory allocation management in Julia alongside an interface with C++ shared libraries is used to perform real-time hardware-in-the-loop simulations of models written in Julia.
MultilayerGraphs.jl is a Julia package for the creation, manipulation and analysis of multilayer graphs, which have been adopted to model a wide range of complex systems from bio-chemical to socio-technical networks.
We will synthetically introduce multilayer network science, illustrate some of the main features of the current version of the package and talk about its future developments.
Get an up-to-date overview of the modelling capabilities of JuMP through a number of worked examples. I'll cover the types of optimization problems you can solve effectively, give lots of unsolicited advice and briefly look at some extensions.
We detail recent work on linear analysis of ModelingToolkit models. We talk about the linearization itself, the subsequent simplification of models with algebraic equations into standard linear statespace models and about causal elements introduced to enable a more convenient workflow for analysis.
We end with examples, illustrating mode shapes of a series of masses and springs, compute gain and phase margins of an electrical circuit, and determine the stability properties of a control system.
PRONTO.jl is a Julia implementation of the Projection-Operator-Based Newton’s Method for Trajectory Optimization (PRONTO). PRONTO is a direct method for trajectory optimization which solves the optimal control problem directly in infinite-dimensional function space. It is capable of achieving quadratic convergence and has potential applications ranging from aerospace to quantum sensing.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
This talk presents a package to analyse long-range dependence (LRD) in time series data. LRD is shown by the fact that the effects from previous disturbances take longer to dissipate than what standard models can capture. Failing to account for LRD dynamics can perversely affect forecasting performance: a model that does not account for LRD misrepresents the true prediction confidence intervals. LRD has been found in climate, political affiliation and finance data, to name a few examples.
MINDFul.jl is a tool to research coordination mechanisms and intent-driven algorithms for multi-domain IP-Optical networks. It combines modern paradigms like Software Defined Networking (SDN) and Intent-Based Networking (IBN) to build a novel flexible architecture, which is appropriate but not limited to decentralized control. It provides a stateful representation of common metro/core network equipment and facilitates event-based simulations with a hackable interface and visualization support.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
Measure Transport, "moving" from one measure to another, has been gaining momentum to perform generative sampling, conditional density estimation, and other statistical methods on a computer. However, transport software is primarily bespoke, is not portable, and can be slow. The Monotone Parameterization Toolkit (MParT) package provides a fast, tested base in C++ to train and use complicated maps for transport easily, and we highlight the Julia bindings for the package in this talk.
Laplacians.jl by Daniel Spielman
This talk explores the capabilities of the Julia ecosystem for topological physics, specifically the calculation of topological invariants for periodically driven non-equilibrium Quantum systems. Often, these quantities are related to topological properties of complicated geometric objects. Julia's ability to streamline these calculations and easily integrate mathematical libraries via multiple dispatch offers a powerful toolbox that simplify the exploration of new phenomena considerably.
Julia is primarily considered to be a "scientific programming language". Quite often, what starts out as "scientific programming" ends up in products meant to be consumed by others. When this happens, these pieces of software end up in "applications", typically with a UI of some sort. This BoF is for those that build these applications, to learn from others, and to discuss what can be done to move the ecosystem forward.
The Julia for HPC minisymposium gathers current and prospective Julia practitioners from various disciplines in the field of high-performance computing (HPC). Each year, we invite participation from science, industry, and government institutions interested in Julia’s capabilities for supercomputing. Our goal is to provide a venue for showing the state of the art, share best practices, discuss current limitations, and identify future developments in the Julia HPC community.
Through the use of GPUCompiler.jl and LLVM.jl, it is possible to cross-compile julia code to backends not officially supported by julia itself. One of these is the AVR backend, the architecture used by the arduino family of microcontrollers. This talk explores some experiments in compiling julia code to AVR, running it baremetal on an arduino as well as looking into challenges with making julia more suited to cross compilation.
In this talk, we will discuss the use of surrogates in scientific simulations, and introduce JuliaSim, a commercial offering built on top of the SciML ecosystem, and introduce some of the surrogates available in JuliaSim.
The objective of this minisymposium is to gather people interested in working with tabular data to allow them to discuss various aspects of the Julia ecosystem in this area.
GreenFunc.jl is a powerful package that offers a solution to the complex computational challenges of quantum many-body systems. The package is developed using native Julia language which offers both speed and flexibility. GreenFunc.jl implements state-of-the-art algorithms for solving quantum many-body problems using a Green's function approach, making it an invaluable tool for researchers in fields such as material design, high-temperature superconductivity, and quantum information technology.
BPGates.jl is a tool for extremely fast simulation of quantum circuits, as long as the circuit is limited to only performing entanglement purification over Bell pairs.
ASE60 Poster Session
The Julia release process is important since it's the process by which all the work that goes into the Julia language gets delivered to users.
This talk details the various steps that are made to ensure that Julia releases are of high quality with few regressions, both in correctness and performance.
SciML provides tools for a wide problem space. It can be confusing for new users to decide between the packages and the kind of questions that can be answered using each of them. This talk will walk through various ecosystem components for tasks such as inverse problems, model augmentation, and equation discovery and showcase workflows for using these packages with examples based on real-world data.
In this talk, we introduce CurricularAnalytics.jl, a package for studying and analyzing academic program curricula. By representing curricula as graphs, we utilize various graph-theoretic measures to quantify the complexity of curricula. In addition to analyzing curricular complexity, the toolbox supports the ability to visualize curricula, create optimal degree plans for completing curricula, and simulate the impact of various events on student progression through a curriculum.
Quantum spin systems are a central topic in condensed matter physics. Their simplicity enables systematic study of the quantum properties, which has notable applications in, e.g., quantum computing. With ReducedBasis.jl we provide a Julia package, which uses reduced-basis methods to accelerate the modeling of parametrised eigenvalue problems, such as typical for quantum spin Hamiltonians. The package integrates with ITensors enabling a treatment using state-of-the-art tensor network methods.
Radio interferometry produces the sharpest images in astronomy through the concept of a computational telescope, with software and algorithms integral to their success. In the coming decade, new facilities, including the ngEHT, ngVLA, and SKA, will revolutionize astronomy, leveraging breakthroughs in digital technology to generate Petabyte-scale datasets. This minisymposium will explore Julia's rapidly growing role in radio astronomy and highlight crucially needed developments.
The Copulas.jl
package brings standard dependence modeling routines to native Julia. Copulas are distributions functions on the unit hypercube that are widely used (from theoretical probabilities and Bayesian statistics, to applied finance or actuarial sciences) to model the dependence structure of random vectors apart from their marginals. This native implementation leverages the Distributions.jl
framework and is therefore conveniently directly compatible with the broader ecosystem.
Geometric Algebra is a high-level mathematical framework which expresses a variety of geometric computations with an intuitive language. While its rich structure unlocks deeper insight and an elegant simplicity, it often comes at a cost to numerical implementations. After giving an overview of geometric algebra and its applications, a Julia implementation is presented which uses metaprogramming to shift the work to compile-time, enabling a fast and expressive approach to computational geometry.
ModelingToolkitStandardLibrary is a library of components to model the world and beyond. We will demonstrate how various Mechanical, Electrical, Magnetic, and Thermal components can be used as basic building blocks to simulate complex models. We will talk about design choices, vision, and future plans for the package.
The computational evaluation of the electronic properties of atoms and moleculesentails the use of quantum mechanics. The computational cost of some routines, in most cases, does not scale linearly and becomes very dependent on the size of the system. Thus, over time, the development of effective tools to accelerate such computations can benefit of new programming languages, like Julia, focused on numerical, scientific and faster programming.
Hydro-Quebec is a public electricity utility for the province of Quebec in Canada. Its demand forecast team has been working for decades with Fortran models used daily in a critical system. Julia was selected as the replacement for Fortran. An optimisation library with call-backs was converted to Julia. The Julia version of the library is exempt of Fortran interface, and we present how the Fortran applications are modified to call either version of the library as to compare their behaviours.
In this talk, we introduce the BSTModelKit.jl package, which enables the construction and analysis of biochemical systems theory (BST) models of metabolic and single transduction networks. We demonstrate the capabilities of BSTModelKit.jl by analyzing the thrombin generation dynamics of a population of synthetic patients before and during pregnancy developed from an ongoing study at the University of Vermont supported by the National Institute of Health (NIH).
The proposal is about which Covid vaccine would be selected by target group of patients in a cross cultural comparison of US and India as features related to the vaccines vary. The data is analyzed using packages from Julia, Python, R, and STATA. The objective is to present a comparison of tools while analyzing an extremely relevant and time critical data related to Covid vaccinations
Joint Chance Constraints achieve a good trade-off between cost and robustness for optimization under uncertainty. This talk proposes a Julia implementation of Joint Chance Constraints and algorithms to solve the programming problems for different types of multivariate probabilities. The library focuses on unit commitment problems for decentralized, renewable-powered microgrids, connected to an unreliable higher-level, grid-balancing unit, but can be applied to similarly-structured problems.
We are introducing Piccolo.jl, an integrated quantum optimal control stack. In our recent paper, "Direct Collocation for Quantum Optimal Control", we demonstrated -- in simulation and on hardware -- that our direct collocation based pulse optimization method (PICO) is a powerful alternative to existing quantum optimal control (QOC) methods. Piccolo.jl is designed to be a simple and powerful interface for utilizing this method for pulse optimization and hardware-in-the-loop control.
Geometric algebra (GA) is a powerful language for formulating and solving problems in geometry, physics, engineering and graphics. SimpleGA is designed as a straightforward implementation of the most useful geometric algebras, with the key focus on performance. In this talk we use the library to explain some key properties of GA, and explain the motivation behind the design and how it utilises Julia's unique features.
We describe and demonstrate a method to use Julia to generate music on a computer. While electronic music generation has had a long and distinguished history, the use of the Julia programming language provides benefits that are not available using traditional tools in this area.
Neural universal differential equations (UDEs) are one of the comparatively new concepts combining aspects of purely knowledge-based mechanistic models with black-box and data-based approaches. We explore the applicability of UDEs for parameter estimation in the context of systems biology. For this, we consider different levels of noise, data sparsity, and prior knowledge about the underlying system on a diverse set of problems.
This talk will present a simulation of geometric control on a quadrotor model built using ModellingToolkit.j. The resulting trajectories will be visualized using Makie.jl. The talk will be a detailed overview of how to use these Julia packages to simulate and visualize the control of quadrotors
Dr. Stephen Wolfram is the creator of Mathematica, Wolfram|Alpha and the Wolfram Language; the author of A New Kind of Science; the originator of the Wolfram Physics Project; and the founder and CEO of Wolfram Research.
We will organise a discussion and brainstorming session centred around the current ecosystem of first-principle atomistic modelling in Julia. In particular we want to discuss the development of interface packages like AtomsBase and what can be done to improve package integration across the existing ecosystem.
Radio interferometry produces the sharpest images in astronomy through the concept of a computational telescope, with software and algorithms integral to their success. In the coming decade, new facilities, including the ngEHT, ngVLA, and SKA, will revolutionize astronomy, leveraging breakthroughs in digital technology to generate Petabyte-scale datasets. This minisymposium will explore Julia's rapidly growing role in radio astronomy and highlight crucially needed developments.
Radio interferometry produces the sharpest images in astronomy through the concept of a computational telescope, with software and algorithms integral to their success. In the coming decade, new facilities, including the ngEHT, ngVLA, and SKA, will revolutionize astronomy, leveraging breakthroughs in digital technology to generate Petabyte-scale datasets. This minisymposium will explore Julia's rapidly growing role in radio astronomy and highlight crucially needed developments.
Come hang out in the evening after talks for some friendly hacking and social time!
Get a delicious breakfast.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
Welcome to JuliaCon 2023 Keynotes! We're excited to feature leading experts in the Julia community, who will share their latest insights and developments. Stay tuned for inspiring talks and lively discussions!
Full title: Optimizations with orthogonality constraints and eigenvector-dependent nonlinear eigenvalue problems. Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
Morning break for coffee and snacks, and transit time from the keynote to the rest of the day's talks.
In this talk, I introduce ElasticSurfaceEmbedding.jl, a package for creating holdable surfaces by weaving paper strips. I'll discuss the process of embedding pieces of a target surface into a plane and minimizing their elastic strain energy. The presentation aims to engage a diverse audience such as mathematicians, physicists, and handicraftsmen, and explore interdisciplinary implications. Physical examples will be showcased onsite.
This talk is designed to give data/insights/decision intelligence team leads a better understanding of the potential of Julia and how it can be effectively adopted in their teams. I'll be discussing the advantages and disadvantages of adopting Julia, drawing on my own experience and sharing some of the lessons I've learned along the way. I'll also be sharing several examples of Julia's unreasonable effectiveness that have supercharged our small team.
Neural networks are typically sensitive to small input perturbations, leading to unexpected or brittle behaviour. We present RobustNeuralNetworks.jl: a Julia package for neural network models that are constructed to naturally satisfy robustness constraints. We discuss the theory behind our model parameterisation, give an overview of the package, and demonstrate its use in image classification, reinforcement learning, and nonlinear robotic control.
Agent-based modeling of the whole cell has emerged as a frontier of modern research. To address this challenge, we developed MEDYAN, a mechano-chemical forcefield and simulation software, in C++. Our new Julia package is 10x faster. To achieve this result, the overall architecture was redesigned and various Julia packages were leveraged. I will describe our strategy for combining stochastic reaction diffusion dynamics with movable membrane and filament mechanics. See medyan.org for more details.
Google Optimization Tools (a.k.a., OR-Tools) is an open-source, fast and portable software suite for solving combinatorial optimization problems. In this talk, we present our work on a new interface to OR-Tools, and we describe the lessons that we learnt along the way.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday
Dynamic optimization problems include optimal control, state estimation, and system identification. Our newly developed integrated residual methods generalize the state-of-the-art direct collocation method. Interesso.jl
implements a selection of Lagrange polynomial and Gauss quadrature node distributions. The iterative Progradio.jl
optimizer allows for efficient mesh refinement. We include an example of optimizing the trajectory of a space-shuttle landing.
Pigeons.jl enables users to leverage distributed computation to obtain samples from complicated probability distributions, such as multimodal posteriors arising in Bayesian inference and high-dimensional distributions in statistical mechanics. Pigeons is easy to use single-threaded, multi-threaded and/or distributed over thousands of MPI-communicating machines. We demo Pigeons.jl and offer advice to Julia developers who wish to implement correct distributed and randomized algorithms.
In this talk, I present a collection of Julia packages developed for Tensor Network simulation experiments (Tenet.jl and EinExprs.jl). We examine which Julia features and design choices enabled us to offer an intuitive interface for users, increasing the tunability and flexibility without loss of performance.
We have developed BiosimMD.jl, a package for performing molecular dynamics (MD) simulations significantly faster than state-of-the-art engines. We present performance benchmarks of the package and its versatility. The package allows scientists to implement novel methods for MD without compromising the speed of simulation. We also discuss aspects of Julia critical in BiosimMD’s development, including access to many levels of computational abstraction, metaprogramming, and ease of multi-threading.
Este plática consta de compartir la experiencia de haber presentado un curso llamado Julia Para Gente Con Prisa en el IIMAS de la UNAM en el verano de 2022. Es un curso diseñado para primerizos pero con aplicaciones para gente que quiere explotar lo más posible de sus cores en ciencias de datos o proyectos de interés social
We present our package and book that we’ve developed to write Julia for Data Science Book. Unlike many other books, our book considers functions are first class citizens and is fully (re)built with CI. We discuss how to develop a code of conduct for communication guidelines and a workflow for coauthoring together using GitHub features such as pull request and issues as project management tools.
The Bruno.jl package allows for pricing financial derivative assets under different theoretical models over varying time frames. This enables technical traders to formulate and test trading strategies within the package based on the derivatives themselves, rather than relying solely on the underlying assets. Using multiple dispatch, the simulating environment is left generic allowing for a wide range of uses from finance practitioners to academics.
We report on the progress of Julia for statistics
Julia has had the most developed ecosystem for differential equation modeling in simulation through the SciML organization for a while. Here we present a collection of talks by computational systems biologists in the community. The focus of the symposium will be to look at how SciML tools are being used in systems biology, how they can improve, and how we can take steps to increase collaboration throughout industry and academia.
We propose ConformalPrediction.jl
: a Julia package for Predictive Uncertainty Quantification in Machine Learning (ML) through Conformal Prediction. It works with supervised models trained in MLJ.jl
, a popular comprehensive ML framework for Julia. Conformal Prediction is easy-to-understand, easy-to-use and model-agnostic and it works under minimal distributional assumptions.
We present QUBO.jl, an end-to-end Julia package for working with QUBO (Quadratic Unconstrained Binary Optimization) instances.
We present the key ideas for finding first-order critical points of multi-objective optimization problems with nonlinear objectives and constraints. A gradient-based trust-region algorithm is modified to employ local, derivative-free surrogate models instead, and a so-called Filter ensures convergence towards feasibility. We show results of a prototype implementation in Julia, relying heavily on JuMP and suitable LP or QP solvers, that confirm the use of surrogates to reduce function calls.
In this talk, I'll share my experience with Julia in a new (to me) context: in a classroom of first-year undergraduate students who have no coding experience! I plan to use Pluto notebooks to make a series of interactive computational (and low- or no-code) demonstrations of concepts from the introductory materials science course at Carnegie Mellon which I am teaching in the Spring 2023 semester. I look forward to sharing the resources I create as well as my reflections on the experience!
In many fields of optimization, there is often a tradeoff between efficiency and the simplicity of the model. ConstraintLearning.jl is an interface to several tools designed to smooth that tradeoff.
- CompositionalNetworks.jl: a scaling glass-box method to learn highly combinatorial functions [JuliaCon 2021]
- QUBOConstraints.jl: a package to automatically learn QUBO matrices from optimization constraints.
Applications are not limited to Constraint Programming, but are focused on it.
We present LotteryTickets.jl
, a library for finding lottery tickets in deep neural networks: pruned, sparse sub-networks that retain much of the performance of their fully parameterized architectures. LotteryTickets.jl
provides prunable wrappers for all Flux.jl
defined layers as well as an easy macro for making a predefined Flux model prunable.
A handful of Julians get nerdsniped into a ridiculous benchmarking spat with all the other languages.
After a 1000+ slack thread that defied numerical stability, common sense and message quotas, our intrepid Julians won nothing but a few lost days of productive heckling.
It was beautiful.
ENLSIP algorithm is designed to solve nonlinear least squares problems under nonlinear constraints. Implemented in Fortran77, it has been successfully used for decades by Hydro-Québec, the main electricity supplier for the province of Quebec in Canada, to calibrate its short-term electricity demand forecast models. A conversion into Julia has been developed to improve reliability and readability of the original code. We now present it as a Julia numerical optimization open-source package
We introduce GeNIOS.jl, a package for large-scale data-driven convex optimization. This package leverages randomized numerical linear algebra and inexact subproblem solves to dramatically speed up the alternating direction method of multipliers (ADMM). We showcase performance on a logistic regression problem and a constrained quadratic program. Finally, we show how this package can be extended to almost any convex optimization problem that appears in practice.
The talk is about the creation of a GitHub repository that teaches users Julia by forking the repository and using CI/CD to autonomously teach best Julia practices.
The Julia community aims to be welcoming, diverse, inclusive towards people from all backgrounds. However, there is still room for improvement in terms of engagement and representation of people identifying from underrepresented backgrounds. In this talk, we will present different initiatives aimed at supporting underrepresented individuals and groups within the Julia community such as Julia Gender Inclusive, JuliaCN, and the Development and Diversity Fund.
We present the package FastOPInterpolation.jl. It provides interpolation on arbitrary tensor product domains. The main goal is fast, repeated evaluations at fixed order with forward recursion and fast reinterpolation of updated or new functions. The implemented domains include lines, disks, and triangles. The extension to other domains is easily possible. It was originally developed with integral equations on product spaces in mind.
In this talk, I’ll introduce a suite of software packages built end-to-end in Julia to represent the modeling and analysis of complex financial systems. This package ecosystem leverages agent-based modeling and machine learning to produce a flexible simulation environment for studying market phenomena, generating scenarios, and building real-time trading applications.
This talk will demonstrate the use of the MLJ.jl package in building a machine-learning pipeline for a dataset of property loans. The goal is to predict which loans might default and build a strategy to minimize losses. Several machine learning models such as ElasticNet, XGBoost, and KNN will be explored, and then combined into a stacked model. I will also show how the output of these models can be used to drive investment decisions and the final results of the strategy. This talk will provide a
Polynomial Optimization can be solved in a variety of ways. JuMP provides an unified interface for modelling these problems. In this talk, we show how to interface each type of polynomial optimization solver to this model and how they compare on a variety of benchmark problems.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
This is a light hearted talk that looks at some interesting statistics and tidbits of the Julia repo from the almost 15 years it has existed.
Developers have been using multithreading to obtain increased performance. However, developers find it difficult to write multithreaded code. To help them, it is important to understand the difficulties they face. The goal of the study is to evaluate the challenges faced by developers with multithreading in Julia using Julia Discourse and Stack Overflow. Conversation between developers on these online discussion forums were analyzed using inductive qualitative content analysis.
In the context of the famous quote “It ain’t what you don’t know that gets you in trouble. It’s what you know for sure that just ain’t so” attributed to Mark Twain, we explore the magnitude of the trouble you get into when you introduce pathological assumptions in scientific machine modeling. Considering Universal Differential Equations we ask “what happens if our domain’s knowledge is incorrectly specified?” and answer showcasing the high interoperability of Julia.
Computable General Equilibrium (CGE) models are large systems of non-linear equations that combine economic theory with real economic data to describe impacts of policies or shocks in the economy. Currently these problems are predominately solved using GAMS which is an expensive, closed source solution. We have created a package called GamsStructure.jl to emulate GAMS data manipulation in Julia. We will discuss several models created in both GAMS and Julia to highlight key similarities.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
In this talk, we present a differentiable Julia implementation of eigenvalue algorithms based on isospectral flows, i.e., matrix systems of ordinary differential equations (ODEs) that continuously drive Hermitian matrices toward a diagonal steady state. We discuss different options for suitable ODE solvers as well as methods for computing sensitivities, and showcase applications in quantum many-body physics.
Julia Gender Inclusive is an initiative that supports gender diversity in the Julia community. We are a group of people whose gender is underrepresented in the community and aim to provide a supportive space for all gender minorities in the Julia community. Over the last year, we have worked toward doing so with our Learn Julia with Us workshops, regular coffee meetings, and our inaugural hackathon. With the BoF session, we hope to discuss current and future initiatives with other people with un
In this talk proposal, we will discuss the chain of fraudulent transactions and help the investigation agencies to fight money laundering with the help of Julia programming language and packages.
We report on progress of Julia for statistics
Julia has had the most developed ecosystem for differential equation modeling in simulation through the SciML organization for a while. Here we present a collection of talks by computational systems biologists in the community. The focus of the symposium will be to look at how SciML tools are being used in systems biology, how they can improve, and how we can take steps to increase collaboration throughout industry and academia.
We present an efficient and scalable approach to inverse PDE-based modelling with the adjoint method. We use automatic differentiation (AD) with Enzyme to automaticaly generate the buidling blocks for the inverse solver. We utilize the efficient pseudo-transient iterative method to achieve performance that is
close to the hardware limit for both forward and adjont problems. We demonstrate close to optimal parallel efficiency on GPUs in series of benchmarks.
We present the Branch-and-Bound Performance Estimation Programming (BnB-PEP), a unified methodology for constructing optimal first-order methods for convex and nonconvex optimization. BnB-PEP poses the problem of finding the optimal optimization method as a nonconvex but practically tractable quadratically constrained quadratic optimization problem and solves it to certifiable global optimality using a customized branch-and-bound algorithm.
In this talk, we present continuous-adjoint sensitivity methods for hybrid differential equations (i.e., ordinary or stochastic differential equations with callbacks) modeling explicit and implicit events. The methods are implemented in the SciMLSensitivity.jl package. As a concrete example, we consider the sensitivity analysis of dosing times in pharmacokinetic models. We discuss different options for the automatic differentiation backend.
When we set out to build the modelling language for StateSpaceEcon.jl, our package for macroeconomic models, we did not yet know that Julia was the perfect language for the task. When faced with hundreds of variables, shocks, equations, parameters, lags and expectation terms, what the economist needs most is an intuitive and expressive domain-specific language to help keep all that complexity under control. Join us as we share our experience – it might help you enhance your own packages.
As physicists build ever more advanced particle accelerators, corresponding simulation softwares demand more computational resources. Our experiment, IsoDAR, is no exception to this. To reduce computational overhead of high-fidelity simulations, we used Julia to develop machine learning models that can, with reasonable accuracy, predict the behavior of a beam traversing our accelerator. These surrogate models have the potential to transform the way physicists design and optimize accelerators.
This talk will explore using Julia to simulate the Request for Quote (RFQ) trading method. RFQ is a trading method that puts counterparties in competition by asking banks for prices to buy or sell an asset. I will simulate the Executing in an Aggregator model (Oomen 2017) and demonstrate why Julia's high performance and ease of use make it a perfect choice for simulating this type of trading. I'll finally show how we can learn from these simulations, educate clients and guide pricing strategies.
I would like to share with the JuMP community some of my experience building stochastic programming models in production, this talk will discuss design patterns used for an LNGC logistics problem developed in an R&D project.
Economic research strongly depends upon the economist’s ability to identify relevant information for causal inference and forecast accuracy efficiently. We address this goal in our Julia’s ParallelGSReg project, developing different econometric-machine learning packages. In JuliaCon 2023, we will present an improved version of our dimensionality reduction package (including non-linear algorithms) and a new "research acceleration package" with automatized Latex code and AI-bibliographic features.
We present a tool for user-friendly generation of machine learning surrogates that allows for fast and optimizer-free Model Predictive Control. Using a variety of practically-relevant examples, we demonstrate its utility to the workflow of a control engineer in the context of Julia simulation tools (such as ModelingToolkit.jl).
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
Mathematics is a science and one of the most important discoveries of the human race on earth. In our daily life, we use mathematics knowingly and unknowingly. Many of us are unaware that forensic experts use mathematics to solve crime mysteries. In this talk, we will explore how Sherlock Holmes, the famous fictional detective character created by Sir Arthur Conan Doyle uses Mathematics and Julia programming language to solve crime mysteries.
Julia provides a vibrant automatic differentiation (AD) ecosystem, with numerous AD libraries. All these AD solutions are unique, and take diverse approaches to the various fundamental AD design choices for code transformations available in Julia. The recent refactoring of the JuMP nonlinear interface is giving us an opportunity to integrate some of these AD libraries into JuMP. However, how far can we go in the integration?
We present our research efforts in creating a performance portable programming model, JACC, in Julia targeting heterogeneous hardware on the US Department of Energy Leadership Computational Facilities. JACC leverages the high-productivity aspect of Julia and the CUDA.jl and AMDGPU.jl vendor specific GPU implementations and expands to many core CPUs (Arm, x86) and automatic memory management. The goal is to allow Julia applications to write performant code once leveraging existing infrastructure.
In recent years, it has been extensively demonstrated that phase transitions can be detected from data by analyzing the output of neural networks (NNs) trained to solve specific classification problems. In this talk, we present a framework for the autonomous detection of phase transitions based on analytical solutions to these problems. We discuss the conditions that enable such approaches and showcase their computational advantage compared to NNs based on our Julia implementation.
Falra.jl in Julia provides a straightforward approach to implementing distributed computing, equipped with an AI-assisted feature for generating source code. This addition facilitates more efficient big data transformations. Tasks such as preprocessing 16TB of IoT data can be done in 1/100 of the original time. Developers are now able to generate Julia source code more easily with the aid of AI, further aiding in distributed computing tasks.
Many complex networks present a temporal nature, e.g. Social Networks, and their modelling is still an challenge. In this talk we’ll show how, in our research group, we use the Julia's SciML ecosystem to understand and predict the temporal evolution of networks. In particular, we'll present a new package DotProductGraphs.jl, that implements tools from the statistical theory of graph embedding (RDPG) to model temporal networks as dynamical systems.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
We hope you're enjoying JuliaCon 2023 so far! Take a break and grab some lunch to recharge for the afternoon sessions. We have a delicious spread waiting for you in the dining hall. Bon appétit!
We hope you're enjoying JuliaCon 2023 so far! Please find our food trucks waiting right outside venue with food available for purchase.
WorldDynamics.jl is a Julia package which aims to provide a modern framework to investigate Integrated Assessment Models (IAMs) of sustainable development benefiting from Julia's ecosystem for scientific computing. Its goal is to allow users to easyly use and adapt different IAMs, from World3 to recent proposals. In this talk, we are going to present the motivations behind the package, its major goals and current functionalities, and prospect our expectations for the following releases.
You want to build a complex macro? ExprParsers.jl gives you many prebuilt expression parsers - for functions, calls, args, wheres, macros, ... - so that you don't need to care about the different ways these high-level Expr-types can be represented in Julia syntax. Everything is well typed, so that you can use familiar julia multiple dispatch to extract the needed information from your input Expr.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
We report on progress of Julia for statistics
Julia has had the most developed ecosystem for differential equation modeling in simulation through the SciML organization for a while. Here we present a collection of talks by computational systems biologists in the community. The focus of the symposium will be to look at how SciML tools are being used in systems biology, how they can improve, and how we can take steps to increase collaboration throughout industry and academia.
Julia and Rust both punch above their weight, but how well do they gel together? We'll invite community members to speak on their experiences interfacing the languages in both directions, future possibilities of collaboration and leveraging the best of both worlds.
In this presentation, we give an overview of the recent progress regarding the continuous nonlinear nonconvex optimization solvers implemented in the JuliaSmoothOptimizers (JSO) organization. We introduce the new package JSOSuite.jl, a unique interface between users and JSO solvers.
We present an efficient approach for the development of 3-D partial differential equation solvers that are able to tackle the hardware limit of modern GPUs and scale to the world's largest supercomputers. The approach relies on the accelerated pseudo-transient method and on the automatic generation of on-chip memory usage-optimized computation kernels for the implementation. We report performance and scaling results on LUMI and Piz Daint, an AMD-GPU and a NVIDIA-GPU supercomputer.
Julia Accelerator Interfaces(JAI, github.com/grnydawn/AccelInterfaces.jl) tries to solve the issues in code migration from Fortran to Julia GPU by using shared libraries. JAI consists of 1) Julia GPU programming interface using Julia macros whose syntax is similar to OpenACC. 2) Automated shared library generation that implements kernels and vendor API interfaces using vendor-provided compilers. 3) Automated call to functions implemented in the shared libraries using Julia ccall interface.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
In JuMP 1.0, support for nonlinear programming is a second-class citizen. In talk, we discuss our efforts to build a first-class NonlinearExpression object in JuMP, banishing the need for the @NL
macros.
The Earth’s crustal magnetic field is a powerful tool for navigation as an alternative to GPS. MagNav.jl is an open-source Julia package containing algorithms for both aeromagnetic compensation and navigation. Alongside baseline algorithms, such as Tolles-Lawson, this package enables multiple scientific machine learning approaches for compensation. This talk will cover some of these techniques and advanced use cases for MagNav.jl in navigation.
VimBindings.jl is a Julia package that emulates vim, the popular text editor, directly in the Julia REPL. This talk will illuminate the context in which a REPL-hacking package runs by taking a deep dive into the Julia REPL code, and articulate the modifications VimBindings.jl makes to introduce novel functionality. The talk will also describe design problems that emerge at the intersection of the REPL and vim paradigms, and the choices made to attempt a coherent fusion of the two.
This talk explores the use of Julia in a novel observational health research study that explores health equity and mental health in ~100 million patients in an international collaborative effort across more than 4 countries. Contributions and efforts within the JuliaHealth and adjacent communities have made working with this data possible. The approaches and results shared will be valuable for potential researchers and will open new frontiers for high performance computing and health analytics.
We were able to successfully synthesize simple compact high-level neural machines via a novel algorithm for neural architecture search using flexible differentiable programming capabilities of Zygote.jl.
We describe a project-based assignment in the EE4375 master course held at the TU Delft. The assignment asks to perform finite element simulations of the magnetic and thermal field of power transformer in distribution grids. Students can choose to employ both codes developed earlier in the course or to resort to existing finite element packages. See github.com/ziolai/finite_element_electrical_engineering . The assignment is developed in collaboration with the local system administrator.
During the BoF we want to discuss future directions of development of JuliaData ecosystem. The objective is to identify priorities of development of current packages in the ecosystem and discuss what functionalities are missing and should be added in new packages.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
The Julia HPC community has been growing over the last years with monthly meetings to coordinate development and to solve problems arising in the use of Julia for high-performance computing.
The Julia in HPC Birds of a Feather is an ideal opportunity to join the community and to discuss your experiences with using Julia in an HPC context.
vOptGeneric.jl is a package based on JuMP and MOI for modeling and solving multi-objective linear optimization (MOO) problems. vOptGeneric will soon be discontinued, and replaced by a new package, fully based on the syntax of JuMP and offering a convenient interface entirely based on MOI to extend the pool of MOO algorithms. In this talk, we present our feedback on our experiences from vOptGeneric.
OpenTelemetry.jl is a pure Julia implementation of the OpenTelemetry specification. It enables developers to collect logs, traces, and metrics in a unified approach to improve the observability of complex systems. With OpenTelemetry.jl, users can not only analyze the telemetry data in Julia but also across many other different languages or services.
Writing a large optimization model is a time-consuming and error-prone task. If and when a modeling error is suspected, the developer often must re-consider every constraint in the model for faulty assumptions causing singularities in the optimization model, which impede convergence of solvers. We introduce a package that computes the Dulmage-Mendelsohn and block triangular partitions of incidence graphs of JuMP models, which can be used to detect sources of structural and numeric singularities.
Many optimization problems can be represented as a graph to provide useful visualization and to allow for manipulating and exploiting problem structure. We use Plasmo.jl (which extends JuMP.jl) to build optimization problems within a graph structure (where optimization model components are stored within the nodes and edges of the graph), and we use the nonlinear interior-point solver, MadNLP.jl, to solve these models and exploit some of these graph structures.
This talk will go into how to use julia's Logging standard library, in particular into how to configure it using LoggingExtras.jl.
LoggingExtras.jl is a suite of extra functionality on top of the Logging standard library to make configuring log handling simpler.
Primarily it works by separating all the ways you can configure the logger into a series of composable objects with only one function: filtering, splitting, transforming.
This allow for easy and comprehensive control of logging.
Julia is a high-performance programming language that has gained traction in the machine-learning community due to its simplicity and speed. The talk looks at how Julia can potentially be used to build machine learning models on the server using WebAssembly (WASM) and the WebAssembly System Interface in this talk (WASI) but also look at some of the major hurdles along the way. The talk will go over the benefits of using WASM and WASI for building such as improved performance and security.
The numerical solution of optimal control of dynamical systems is a rich process that typically involves modelling, optimisation, differential equations (most notably Hamiltonian ones), nonlinear equations (e. g. for shooting), pathfollowing methods… and, at every step, automatic differentiation. We report on recent experiments with Julia on a variety of applied or more theoretical problems in optimal control and try to survey what the practitioner will find, and would like to find.
We present an easy to use and powerful package that enables analysis of Single Cell Expression data in Julia.
It is faster and uses less memory than existing solutions since the data is internally represented as expressions of sparse and low rank matrices, instead of storing huge dense matrices.
In particular, it efficiently performs PCA (Principal Component Analysis), a natural starting point for downstream analysis, and supports both standard workflows and projections onto a base data set.
As an alternative code-hosting/project management platform, GitLab is not as well supported within the Julia community. This talk presents a GitLab CI process for Julia aiming to change this, making it easier for those using GitLab as their preferred platform to build and ship Julia-based software.
We present a new Julia library, TDAOpt.jl
, which provides a unified framework for automatic differentiation and gradient-based optimization of statistical and topological losses using persistent homology. TDAOpt.jl
is designed to be efficient and easy to use as well as highly flexible and modular. This allows users to easily incorporate topological regularization into machine learning models in order to optimize shapes, encode domain-specific knowledge, and improve model interpretability
A casual, open-ended discussion for anyone interested in using Julia in health and medicine. In particular, we'll discuss strategies for growing and strengthening the Julia health and medicine community.
Feedback control policies for quantum systems often lack performance targets and certificates of optimality. Here, we will show how bounds on the best possible control performance are readily computable for a wide range of quantum control problems by means of convex optimization using Julia's optimization ecosystem. We discuss how these bounds provide targets and certificates to improve the design of quantum feedback controllers.
As Julia usage continues to grow within regulated biomedical environments, it is vital to ensure analyses are traceable and reproducible. Conducting analyses in an open-science manner is also critical to expand the adoption of Julia and to facilitate the infrastructure growth of Julia as an accessible ecosystem. A step-by-step model-building example of a classic monoclonal antibody-drug conjugate PBPK/tumor dynamics system illustrates how to develop such a reproducible open-science framework.
An ad-hoc approach to acquiring and using data can seem simple at first, but leaves one ill-prepared to deal with questions like: "where did the data come from?", "how was the data processed?", or "am I looking at the same data?". Generic tools for managing data (including some in Julia) exist, but suffer from limitations that reduce their broad utility. DataToolkit.jl provides a highly extensible and integrated approach, making robust and reproducible treatment of data and results convenient.
Scaling up atomistic simulation models is hampered by expensive calculations of interatomic forces. Machine learning potentials address this challenge and promise the accuracy of first-principles methods at a lower computational cost. This talk presents, as part of the research activities of the CESMIX project, how Julia is used to facilitate automating the composition of a novel neural potential based on the Atomic Cluster Expansion.
Type instabilities are not always bad! Using non-concrete types, and avoiding method specialization and type inference can help with improving latency and, in specific cases, runtime performance. The latter is observed in inherently dynamic contexts with no way to compile all possible method signatures upfront, because code needs to be compiled at points of dynamic dispatch by design. We present a concrete case we face in our production environment, additional examples, and related trade-offs.
ValueConstraints.jl
provides a framework for declaratively expressing constraints on values, e.g. "minimum", "maximum", "needs to be within this set", etc. along with a small standard library of common constraints. It is fast, i.e. on par with using regular function calls, provides friendly error messages and warnings, and, perhaps most importantly, can serve as a foundation for the creation of schemas.
The electronic structure theory is critical for understanding materials, but it has been challenging to develop readable yet efficient electronic structure packages. WTP.jl
identifies a layer of abstractions that simplifies such development through an interface resembling the mathematical notation of the electronic structure theory. Using WTP.jl
, we built another package SCDM.jl
for electron localization with code far more readable than the widely used alternative Wannier90
.
We present a novel transparent data persistence architecture as an extension of the SimJulia package. We integrated PostgresORM into the ResumableFunctions library by using Julia's metaprogramming support. As such, we were able to remove the dependency on a user's knowledge on architectures for persistence. Our contribution aims to improve the usability, whilst demonstrating the power of macro expansion to move towards a dynamic object-relational mapping configuration.
This talk introduces InverseStatMech.jl, a Julia package that provides various efficient and robust algorithms to infer geometric structures of ordered and disordered materials from their spectra and other structural descriptors, which is a crucial inverse problem in statistical mechanics, crystallography and soft materials sciences.
(Package currently under development.)
NEOs.jl is an open source Near Earth Object orbit determination software package in the Julia programming language. NEOs.jl features exploitation of high-order automatic differentiation techniques, known as jet transport, in order to quantify orbital uncertainties in a versatile, semi-analytical manner. Using NEOs.jl we have estimated the Yarkovsky acceleration acting on the potentially hazardous asteroid Apophis and have ruled out potential impacts on 2036 and 2068.
At Beacon Biosignals we don't want to have to re-invent the wheel about data
loading and batch randomization every time we stand up a new machine learning
project. So we've collected a set of patterns that have proven useful across
multiple projects into
OndaBatches.jl, which
serves as a foundation for building the specific batch randomization,
featurization, and data movement systems that each machine learning project
requires.
Join us for ASE-60, where we celebrate the life and the career of Professor Alan Stuart Edelman, on the occasion of his 60th birthday: https://math.mit.edu/events/ase60celebration/
In this talk various Julia packages for processing spatial data coming from the Open Street Map (OSM) project will be presented. OSM is an excellent source of information about road system that can be explored by tools such as OpenStreetMapX.jl However, the OSM files also contain useful information points interests (restaurants, hotels, schools, stores etc.) that can be extracted and analyzed in Julia.
Using MixedModels.jl and MixedModelsMakie.jl, I will show several different ways to visualize different aspects of the model fit as well as the model fitting process. I will focus especially on shrinkage (downward bias of the random effects relative to similar estimates from a classical OLS model) and how MixedModels.jl uses BOBYQA and a profiled log likelihood to efficiently explore the parameter space.
This talk introduces cadCAD.jl, a high performance open source Julia library for modeling and simulating dynamical systems with generic attributes. Our goal with this talk is to show the main ideas behind the library, how it promotes open science, how we used Julia to achieve higher performance in comparison to it's Python implementation, and how it would fit in a data science workflow, by running an example simulation.
As JuliaCon 2023 comes to a close, join us for a memorable farewell ceremony to celebrate a week of learning, collaboration, and innovation. We'll recap the highlights of the conference, thank our sponsors and volunteers, and recognize outstanding contributions to the Julia community. Don't miss this opportunity to say goodbye to old and new friends, and leave with inspiration for your next Julia project. Safe travels!
Come hang out in the evening after talks for some friendly hacking and social time!