-
Anisotropy of the Hydrostatic Stress for Hall Droplets with in-plane Magnetic Field
Authors:
Ian Osborne,
Gustavo M. Monteiro,
Barry Bradlyn
Abstract:
We examine the hydrostatic stress of electrons strongly confined in a quasi-2D quantum well in the presence of a strong perpendicular and weak in-plane magnetic field. This introduces anisotropy into the stress tensor which is inconsistent with the notion of the quantum Hall droplet as a simple two-dimensional electron fluid. We show that the breaking of rotational symmetry is a necessary but not…
▽ More
We examine the hydrostatic stress of electrons strongly confined in a quasi-2D quantum well in the presence of a strong perpendicular and weak in-plane magnetic field. This introduces anisotropy into the stress tensor which is inconsistent with the notion of the quantum Hall droplet as a simple two-dimensional electron fluid. We show that the breaking of rotational symmetry is a necessary but not a sufficient condition for an anisotropic ground state stress tensor, and that the anisotropic stress originates primarily from quantum effects. We demonstrate this by decomposing the semiclassical trajectories of electrons in the system onto planes in phase space which must be rotated relative to the plane of the fluid to decouple the Hamiltonian.
△ Less
Submitted 7 June, 2024;
originally announced June 2024.
-
Bridging Worlds: Achieving Language Interoperability between Julia and Python in Scientific Computing
Authors:
Ianna Osborne,
Jim Pivarski,
Jerry Ling
Abstract:
In the realm of scientific computing, both Julia and Python have established themselves as powerful tools. Within the context of High Energy Physics (HEP) data analysis, Python has been traditionally favored, yet there exists a compelling case for migrating legacy software to Julia. This article focuses on language interoperability, specifically exploring how Awkward Array data structures can brid…
▽ More
In the realm of scientific computing, both Julia and Python have established themselves as powerful tools. Within the context of High Energy Physics (HEP) data analysis, Python has been traditionally favored, yet there exists a compelling case for migrating legacy software to Julia. This article focuses on language interoperability, specifically exploring how Awkward Array data structures can bridge the gap between Julia and Python. The talk offers insights into key considerations such as memory management, data buffer copies, and dependency handling. It delves into the performance enhancements achieved by invoking Julia from Python and vice versa, particularly for intensive array-oriented calculations involving large-scale, though not excessively dimensional, arrays of HEP data. The advantages and challenges inherent in achieving interoperability between Julia and Python in the domain of scientific computing are discussed.
△ Less
Submitted 28 April, 2024;
originally announced April 2024.
-
Analysis Facilities White Paper
Authors:
D. Ciangottini,
A. Forti,
L. Heinrich,
N. Skidmore,
C. Alpigiani,
M. Aly,
D. Benjamin,
B. Bockelman,
L. Bryant,
J. Catmore,
M. D'Alfonso,
A. Delgado Peris,
C. Doglioni,
G. Duckeck,
P. Elmer,
J. Eschle,
M. Feickert,
J. Frost,
R. Gardner,
V. Garonne,
M. Giffels,
J. Gooding,
E. Gramstad,
L. Gray,
B. Hegner
, et al. (41 additional authors not shown)
Abstract:
This white paper presents the current status of the R&D for Analysis Facilities (AFs) and attempts to summarize the views on the future direction of these facilities. These views have been collected through the High Energy Physics (HEP) Software Foundation's (HSF) Analysis Facilities forum, established in March 2022, the Analysis Ecosystems II workshop, that took place in May 2022, and the WLCG/HS…
▽ More
This white paper presents the current status of the R&D for Analysis Facilities (AFs) and attempts to summarize the views on the future direction of these facilities. These views have been collected through the High Energy Physics (HEP) Software Foundation's (HSF) Analysis Facilities forum, established in March 2022, the Analysis Ecosystems II workshop, that took place in May 2022, and the WLCG/HSF pre-CHEP workshop, that took place in May 2023. The paper attempts to cover all the aspects of an analysis facility.
△ Less
Submitted 15 April, 2024; v1 submitted 2 April, 2024;
originally announced April 2024.
-
Awkward Just-In-Time (JIT) Compilation: A Developer's Experience
Authors:
Ianna Osborne,
Jim Pivarski,
Ioana Ifrim,
Angus Hollands,
Henry Schreiner
Abstract:
Awkward Array is a library for performing NumPy-like computations on nested, variable-sized data, enabling array-oriented programming on arbitrary data structures in Python. However, imperative (procedural) solutions can sometimes be easier to write or faster to run. Performant imperative programming requires compilation; JIT-compilation makes it convenient to compile in an interactive Python envi…
▽ More
Awkward Array is a library for performing NumPy-like computations on nested, variable-sized data, enabling array-oriented programming on arbitrary data structures in Python. However, imperative (procedural) solutions can sometimes be easier to write or faster to run. Performant imperative programming requires compilation; JIT-compilation makes it convenient to compile in an interactive Python environment. Various functions in Awkward Arrays JIT-compile a user's code into executable machine code. They use several different techniques, but reuse parts of each others' implementations. We discuss the techniques used to achieve the Awkward Arrays acceleration with JIT-compilation, focusing on RDataFrame, cppyy, and Numba, particularly Numba on GPUs: conversions of Awkward Arrays to and from RDataFrame; standalone cppyy; passing Awkward Arrays to and from Python functions compiled by Numba; passing Awkward Arrays to Python functions compiled for GPUs by Numba; and header-only libraries for populating Awkward Arrays from C++ without any Python dependencies.
△ Less
Submitted 2 October, 2023;
originally announced October 2023.
-
On Sign-Invertible Graphs
Authors:
Isaiah Osborne,
Dong Ye
Abstract:
Let $G$ be a graph and $A$ be its adjacency matrix. A graph $G$ is invertible if its adjacency matrix $A$ is invertible and the inverse of $G$ is a weighted graph with adjacency matrix $A^{-1}$. A signed graph $(G,σ)$ is a weighted graph with a special weight function $σ: E(G)\to \{-1,1\}$. A graph is sign-invertible (or sign-invertible) if its inverse is a signed graph. A sign-invertible graph is…
▽ More
Let $G$ be a graph and $A$ be its adjacency matrix. A graph $G$ is invertible if its adjacency matrix $A$ is invertible and the inverse of $G$ is a weighted graph with adjacency matrix $A^{-1}$. A signed graph $(G,σ)$ is a weighted graph with a special weight function $σ: E(G)\to \{-1,1\}$. A graph is sign-invertible (or sign-invertible) if its inverse is a signed graph. A sign-invertible graph is always unimodular. The inverses of graphs have interesting combinatorial interests. In this paper, we study inverses of graphs and provide a combinatorial description for sign-invertible graphs, which provides a tool to characterize sign-invertible graphs. As applications, we complete characterize sign-invertible bipartite graphs with a unique perfect matching, and sign-invertible graphs with cycle rank at most two. As corollaries of these characterizations, some early results on trees (Buckley, Doty and Harary in 1982) and unicyclic graphs with a unique perfect matching (Kalita and Sarma in 2022) follow directly.
△ Less
Submitted 22 March, 2023;
originally announced March 2023.
-
The Awkward World of Python and C++
Authors:
Manasvi Goyal,
Ianna Osborne,
Jim Pivarski
Abstract:
There are undeniable benefits of binding Python and C++ to take advantage of the best features of both languages. This is especially relevant to the HEP and other scientific communities that have invested heavily in the C++ frameworks and are rapidly moving their data analyses to Python. Version 2 of Awkward Array, a Scikit-HEP Python library, introduces a set of header-only C++ libraries that do…
▽ More
There are undeniable benefits of binding Python and C++ to take advantage of the best features of both languages. This is especially relevant to the HEP and other scientific communities that have invested heavily in the C++ frameworks and are rapidly moving their data analyses to Python. Version 2 of Awkward Array, a Scikit-HEP Python library, introduces a set of header-only C++ libraries that do not depend on any application binary interface. Users can directly include these libraries in their compilation instead of linking against platform-specific libraries. This new development makes the integration of Awkward Arrays into other projects easier and more portable, as the implementation is easily separable from the rest of the Awkward Array codebase. The code is minimal; it does not include all of the code needed to use Awkward Arrays in Python, nor does it include references to Python or pybind11. The C++ users can use it to make arrays and then copy them to Python without any specialized data types - only raw buffers, strings, and integers. This C++ code also simplifies the process of just-in-time (JIT) compilation in ROOT. This implementation approach solves some of the drawbacks, like packaging projects where native dependencies can be challenging. In this paper, we demonstrate the technique to integrate C++ and Python using a header-only approach. We also describe the implementation of a new LayoutBuilder and a GrowableBuffer. Furthermore, examples of wrap** the C++ data into Awkward Arrays and exposing Awkward Arrays to C++ without copying them are discussed.
△ Less
Submitted 1 May, 2024; v1 submitted 3 March, 2023;
originally announced March 2023.
-
Awkward to RDataFrame and back
Authors:
Ianna Osborne,
Jim Pivarski
Abstract:
Awkward Arrays and RDataFrame provide two very different ways of performing calculations at scale. By adding the ability to zero-copy convert between them, users get the best of both. It gives users a better flexibility in mixing different packages and languages in their analysis. In Awkward Array version 2, the ak.to_rdataframe function presents a view of an Awkward Array as an RDataFrame source.…
▽ More
Awkward Arrays and RDataFrame provide two very different ways of performing calculations at scale. By adding the ability to zero-copy convert between them, users get the best of both. It gives users a better flexibility in mixing different packages and languages in their analysis. In Awkward Array version 2, the ak.to_rdataframe function presents a view of an Awkward Array as an RDataFrame source. This view is generated on demand and the data are not copied. The column readers are generated based on the run-time type of the views. The readers are passed to a generated source derived from ROOT::RDF::RDataSource. The ak.from_rdataframe function converts the selected columns as native Awkward Arrays. The details of the implementation exploiting JIT techniques are discussed. The examples of analysis of data stored in Awkward Arrays via a high-level interface of an RDataFrame are presented. A few examples of the column definition, applying user-defined filters written in C++, and plotting or extracting the columnar data as Awkward Arrays are shown. Current limitations and future plans are discussed.
△ Less
Submitted 20 February, 2023;
originally announced February 2023.
-
Learning from the Pandemic: the Future of Meetings in HEP and Beyond
Authors:
Mark S. Neubauer,
Todd Adams,
Jennifer Adelman-McCarthy,
Gabriele Benelli,
Tulika Bose,
David Britton,
Pat Burchat,
Joel Butler,
Timothy A. Cartwright,
Tomáš Davídek,
Jacques Dumarchez,
Peter Elmer,
Matthew Feickert,
Ben Galewsky,
Mandeep Gill,
Maciej Gladki,
Aman Goel,
Jonathan E. Guyer,
Bo Jayatilaka,
Brendan Kiburg,
Benjamin Krikler,
David Lange,
Claire Lee,
Nick Manganelli,
Giovanni Marchiori
, et al. (14 additional authors not shown)
Abstract:
The COVID-19 pandemic has by-and-large prevented in-person meetings since March 2020. While the increasing deployment of effective vaccines around the world is a very positive development, the timeline and pathway to "normality" is uncertain and the "new normal" we will settle into is anyone's guess. Particle physics, like many other scientific fields, has more than a year of experience in holding…
▽ More
The COVID-19 pandemic has by-and-large prevented in-person meetings since March 2020. While the increasing deployment of effective vaccines around the world is a very positive development, the timeline and pathway to "normality" is uncertain and the "new normal" we will settle into is anyone's guess. Particle physics, like many other scientific fields, has more than a year of experience in holding virtual meetings, workshops, and conferences. A great deal of experimentation and innovation to explore how to execute these meetings effectively has occurred. Therefore, it is an appropriate time to take stock of what we as a community learned from running virtual meetings and discuss possible strategies for the future. Continuing to develop effective strategies for meetings with a virtual component is likely to be important for reducing the carbon footprint of our research activities, while also enabling greater diversity and inclusion for participation. This report summarizes a virtual two-day workshop on Virtual Meetings held May 5-6, 2021 which brought together experts from both inside and outside of high-energy physics to share their experiences and practices with organizing and executing virtual workshops, and to develop possible strategies for future meetings as we begin to emerge from the COVID-19 pandemic. This report outlines some of the practices and tools that have worked well which we hope will serve as a valuable resource for future virtual meeting organizers in all scientific fields.
△ Less
Submitted 29 June, 2021;
originally announced June 2021.
-
AwkwardForth: accelerating Uproot with an internal DSL
Authors:
Jim Pivarski,
Ianna Osborne,
Pratyush Das,
David Lange,
Peter Elmer
Abstract:
File formats for generic data structures, such as ROOT, Avro, and Parquet, pose a problem for deserialization: it must be fast, but its code depends on the type of the data structure, not known at compile-time. Just-in-time compilation can satisfy both constraints, but we propose a more portable solution: specialized virtual machines. AwkwardForth is a Forth-driven virtual machine for deserializin…
▽ More
File formats for generic data structures, such as ROOT, Avro, and Parquet, pose a problem for deserialization: it must be fast, but its code depends on the type of the data structure, not known at compile-time. Just-in-time compilation can satisfy both constraints, but we propose a more portable solution: specialized virtual machines. AwkwardForth is a Forth-driven virtual machine for deserializing data into Awkward Arrays. As a language, it is not intended for humans to write, but it loosens the coupling between Uproot and Awkward Array. AwkwardForth programs for deserializing record-oriented formats (ROOT and Avro) are about as fast as C++ ROOT and 10-80$\times$ faster than fastavro. Columnar formats (simple TTrees, RNTuple, and Parquet) only require specialization to interpret metadata and are therefore faster with precompiled code.
△ Less
Submitted 24 February, 2021;
originally announced February 2021.
-
Fermi-surface Reconstruction in the Repulsive Fermi-Hubbard Model
Authors:
Ian Osborne,
Thereza Paiva,
Nandini Trivedi
Abstract:
One of the fundamental questions about the high temperature cuprate superconductors is the size of the Fermi surface (FS) underlying the superconducting state. By analyzing the single particle spectral function for the Fermi Hubbard model as a function of repulsion $U$ and chemical potential $μ$, we find that the Fermi surface in the normal state reconstructs from a large Fermi surface matching th…
▽ More
One of the fundamental questions about the high temperature cuprate superconductors is the size of the Fermi surface (FS) underlying the superconducting state. By analyzing the single particle spectral function for the Fermi Hubbard model as a function of repulsion $U$ and chemical potential $μ$, we find that the Fermi surface in the normal state reconstructs from a large Fermi surface matching the Luttinger volume as expected in a Fermi liquid, to a Fermi surface that encloses fewer electrons that we dub the "Luttinger Breaking" (LB) phase, as the Mott insulator is approached. This transition into a non-Fermi liquid phase that violates the Luttinger count, is a continuous phase transition at a critical density in the absence of any other broken symmetry. We obtain the Fermi surface contour from the spectral weight $A_{\vec{k}}(ω=0)$ and from an analysis of the poles and zeros of the retarded Green's function $G_{\vec{k}}^{ret}(E=0)$, calculated using determinantal quantum Monte Carlo and analytic continuation methods.We discuss our numerical results in connection with experiments on Hall measurements, scanning tunneling spectroscopy and angle resolved photoemission spectroscopy.
△ Less
Submitted 3 June, 2020; v1 submitted 20 January, 2020;
originally announced January 2020.
-
HEP Software Foundation Community White Paper Working Group - Detector Simulation
Authors:
HEP Software Foundation,
:,
J Apostolakis,
M Asai,
S Banerjee,
R Bianchi,
P Canal,
R Cenci,
J Chapman,
G Corti,
G Cosmo,
S Easo,
L de Oliveira,
A Dotti,
V Elvira,
S Farrell,
L Fields,
K Genser,
A Gheata,
M Gheata,
J Harvey,
F Hariri,
R Hatcher,
K Herner,
M Hildreth
, et al. (40 additional authors not shown)
Abstract:
A working group on detector simulation was formed as part of the high-energy physics (HEP) Software Foundation's initiative to prepare a Community White Paper that describes the main software challenges and opportunities to be faced in the HEP field over the next decade. The working group met over a period of several months in order to review the current status of the Full and Fast simulation appl…
▽ More
A working group on detector simulation was formed as part of the high-energy physics (HEP) Software Foundation's initiative to prepare a Community White Paper that describes the main software challenges and opportunities to be faced in the HEP field over the next decade. The working group met over a period of several months in order to review the current status of the Full and Fast simulation applications of HEP experiments and the improvements that will need to be made in order to meet the goals of future HEP experimental programmes. The scope of the topics covered includes the main components of a HEP simulation application, such as MC truth handling, geometry modeling, particle propagation in materials and fields, physics modeling of the interactions of particles with matter, the treatment of pileup and other backgrounds, as well as signal processing and digitisation. The resulting work programme described in this document focuses on the need to improve both the software performance and the physics of detector simulation. The goals are to increase the accuracy of the physics models and expand their applicability to future physics programmes, while achieving large factors in computing performance gains consistent with projections on available computing resources.
△ Less
Submitted 12 March, 2018;
originally announced March 2018.
-
IGUANA Architecture, Framework and Toolkit for Interactive Graphics
Authors:
George Alverson,
Giulio Eulisse,
Shahzad Muzaffar,
Ianna Osborne,
Lassi A. Tuura,
Lucas Taylor
Abstract:
IGUANA is a generic interactive visualisation framework based on a C++ component model. It provides powerful user interface and visualisation primitives in a way that is not tied to any particular physics experiment or detector design. The article describes interactive visualisation tools built using IGUANA for the CMS and D0 experiments, as well as generic GEANT4 and GEANT3 applications. It cov…
▽ More
IGUANA is a generic interactive visualisation framework based on a C++ component model. It provides powerful user interface and visualisation primitives in a way that is not tied to any particular physics experiment or detector design. The article describes interactive visualisation tools built using IGUANA for the CMS and D0 experiments, as well as generic GEANT4 and GEANT3 applications. It covers features of the graphical user interfaces, 3D and 2D graphics, high-quality vector graphics output for print media, various textual, tabular and hierarchical data views, and integration with the application through control panels, a command line and different multi-threading models.
△ Less
Submitted 10 June, 2003;
originally announced June 2003.