FOSS CAD for the Compact Verilog-A Model Standardization in Open Access PDKs
This is a conference paper about open source tools for circuit simulation and model compilers.
SEARCH · Engineering Papers
Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.
Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.
This is a conference paper about open source tools for circuit simulation and model compilers.
This paper reports recent findings from IEA Wind TCP Task 25, which compiles international experiences and research related to large-scale integration of wind and other renewable energy. In the paper, we address the main challenges for market integration of variable renewable energy, relating to price formation, cost recovery, balancing and other grid services. The paper gives an overview of recent scenario studies on electricity price impacts of (1) various generation, energy storage and demand types in different markets, and (2) different market designs and energy/climate policies. Studying markets with very high shares of variable renewable energy requires an improved set of analysis tools for forecasting market outcomes, estimating flexibility needs and sources, and assessing resource adequacy. Key market features need to be investigated within these improved analytical capabilities for systems transitioning to high shares of variable renewable energy, storage and flexible demand. System services that can be supported by markets will likely need to be revisited. Finally, this paper identifies open questions and suggested future market design work for supporting systems with very high shares of variable renewable energy, which are to be addressed in follow-up work of Task 25 collaborative research.
Coarse-grained reconfigurable arrays (CGRAs) provide higher flexibility than application-specific integrated circuits (ASICs) and higher efficiency than fine-grained reconfigurable devices such as Field Programmable Gate Arrays (FPGAs). However, CGRAs are generally designed to support offloading of a single kernel. While their design, based on communicating functional units, appears to naturally suit data streaming applications composed of multiple cooperating kernels, current approaches only statically partition the resources across application kernels. However, emerging streaming applications at the edge (scientific instruments, sensor networks, network processing) perform much more than digital signal processing and often are data and input dependent. This leads to extremely variable kernel execution times, severely impacting the throughput of the entire pipeline if resources are only statically allocated. Therefore, in this paper, we propose DRIPS — a coarse-grained, dynamically, and partially reconfigurable array for data-dependent streaming applications. We present a unified compiler framework to facilitate the mapping of a given streaming application onto the DRIPS CGRA architecture. The experimental results show that DRIPS achieves an average throughput improvement of 1.46$\times$ across a set of representative applications over a statically partitioned solution. The additional area overhead to enable dynamic rebalancing consumes 16.34% of the entire area for a 5x5 CGRA prototype.
The prevalence of ML and AI-powered solutions along with the slowing of Moore's Law has given rise to novel hardware platforms aimed at accelerating ML and AI. While programming these hardware platforms can be difficult, particularly for non-hardware experts, hardware vendors provide high-level tooling in an effort to address this difficulty. The Versal ACAP is an SoC designed by AMD that combines CPU cores, FPGA fabric, and a tiled, vector architecture called an AI engine all on the same socket. In an effort to more easily program this heterogeneous system, AMD has provided the Vitis AI development stack. In this work, we leverage Vitis AI to program a Versal ACAP to perform errant beam detection in the Spallation Neutron Source at Oak Ridge National Laboratory. Our initial work shows that after quantization and compilation of the model for the Versal ACAP, the classification accuracy, as measured by the AUC metric, is over 95% accurate while achieving this accuracy in 46 microseconds on average.
This paper proposes VecPAC -- a vectorizable and precision-aware coarse-grained reconfigurable array (CGRA) design. VecPAC integrates CGRA tiles with scalar functional units and specialized tiles with vector functional units that can trade off the number of vector lanes for the accuracy of the computation. We discuss the architecture design and present the related compilation framework. The experimental evaluation on a set of applications from three different domains (embedded, machine learning, and high-performance computing) shows that the hybrid design of VecPAC outperforms CGRAs with only scalar functional units by 1.48x, while providing higher scalability.
As the popularity of quantum computing continues to grow, quantum machine access over the cloud is critical to both academic and industry researchers across the globe. And as cloud quantum computing demands increase exponentially, the analysis of resource consumption and execution characteristics are key to efficient management of jobs and resources at both the vendor-end as well as the client-end. While the analysis of resource consumption and management are popular in the classical HPC domain, it is severely lacking for more nascent technology like quantum computing. This paper is a first-of-its-kind academic study, analyzing various trends in job execution and resources consumption / utilization on quantum cloud systems. We focus on IBM Furthermore, quantum systems and analyze characteristics over a two year period, encompassing over 6000 jobs which contain over 600,000 quantum circuit executions and correspond to almost 10 billion “shots” or trials over 20+ quantum machines. Specifically, we analyze trends focused on, but not limited to, execution times on quantum machines, queuing/waiting times in the cloud, circuit compilation times, machine utilization, as well as the impact of job and machine characteristics on all of these trends. Furthermore, our analysis identifies several similarities and differences with classical HPC cloud systems. Based on our insights, we make recommendations and contributions to improve the management of resources and jobs on future quantum cloud systems.
Recent advances in programmable networks enable custom processing of data at hundreds of gigabits per second. These advances can boost the performance of many distributed applications. Yet the high-level languages used by application developers are different from the data plane programming languages (such as P4 and NPL) used by network equipment. This language barrier slows innovation. Our hourglass-shaped architectural solution aims to lower this language barrier. This enables the application developer community to leverage programmable networks for achieving better performance. In this paper we propose a JSON-based intermediate representation to bridge the gap between applications and in-network computing. We demonstrate an instance of the solution in the context of a low-latency feedback application that enables SQL-based data filtering in a P4-based programmable environment. We also present a prototype compiler to convert an intermediate representation in JSON to P4 source.
We explore the performance and portability of the high-level programming models: the LLVM-based Julia and Python/Numba, and Kokkos on high-performance computing (HPC) nodes: AMD Epyc CPUs and MI250X graphical processing units (GPUs) on Frontier’s test bed Crusher system and Ampere’s Arm-based CPUs and NVIDIA’s A100 GPUs on the Wombat system at the Oak Ridge Leadership Computing Facilities. We compare the default performance of a hand-rolled dense matrix multiplication algorithm on CPUs against vendor-compiled C/OpenMP implementations, and on each GPU against CUDA and HIP. Rather than focusing on the kernel optimization per-se, we select this naive approach to resemble exploratory work in science and as a lower-bound for performance to isolate the effect of each programming model. Julia and Kokkos perform comparably with C/OpenMP on CPUs, while Julia implementations are competitive with CUDA and HIP on GPUs. Performance gaps are identified on NVIDIA A100 GPUs for Julia’s single precision and Kokkos, and for Python/Numba in all scenarios. We also comment on half-precision support, productivity, performance portability metrics, and platform readiness. We expect to contribute to the understanding and direction for high-level, high-productivity languages in HPC as the first-generation exascale systems are deployed.
We know that Python is a widely used language in scientific computing. When the goal is high performance, however, Python lags far behind low-level languages such as C and Fortran. To support applications that stress performance, Python needs to access the full capabilities of modern CPUs. That means support for parallel multithreading. In this paper, we describe PyOMP, a system that enables OpenMP in Python. Programmers write code in Python with OpenMP, Numba generates code that compiles to LLVM, and the resulting programs run with performance that approaches that from code written with C and OpenMP. In this paper we provide an update on the PyOMP project and explain how to install it and use it to write parallel multithreaded code in Python.
oarse-grained reconfigurable arrays (CGRAs) are a promising solution to enable energy-efficient acceleration of applications from different domains. By leveraging reconfiguration at the functional level, they can adapt to significantly different computational patterns. Existing CGRA mapping approaches extract instruction-level parallelism, exploit loop-pipelining opportunities, guarantee the data dependency, and target high throughput of a given loop. However, the recurrence data-dependency in the DFG and the mismatch between required and available computing/communication resources complicate the mapping, and might lead to significant unbalances in the utilization of the CGRA's tiles. This results in wasted power for tiles with low utilization. Applying dynamic voltage and frequency scaling (DVFS) can potentially solve this challenge and improve energy efficiency by adjusting voltage and frequency of different tiles independently. CGRAs have also been successful in accelerating data-dependent streaming applications. However, in these applications, the execution time of each kernel in the pipeline might dynamically vary depending on the characteristics of the input. This also leads to under-utilization of resources for the dynamically changing kernels that do not limit the application throughput. DVFS can also improve energy efficiency for these applications by dynamically changing the voltage and frequency levels of tiles that host non performance-constraining kernels. This paper proposes ICEDTEA -- an integrated DVFS-aware framework to map applications on CGRAs that support power islands. ICEDTEA proposes a CGRA architecture supporting DVFS islands at varying granularity (from a single tile to a group of tiles) and the related DVFS-aware compilation and mapping toolchain. ICEDTEA is the first work that introduces DVFS support for spatio-temporal CGRAs at power-island levels. The experimental evaluation shows that ICEDTEA improves average utilization by 2.3$\times$ and energy-efficiency by 1.32$\times$ over a conventional CGRA. With streaming applications, ICEDTEA improves energy efficiency by 1.12$\times$ over a state-of-the-art CGRA that introduces partial dynamic reconfiguration to adapt to variations in kernels' throughput.
A typical meteorological year (TMY) data set essentially represents an hourly compilation of median months constructed using multi-year datasets. Although TMY data sets are generated from irradiance data in the horizontal plane, they are used in photovoltaic (PV) modeling for systems inclined to various angles. This paper demonstrates that a POA TMY (plane of array TMY) generated by selecting median months from a multi-year POA irradiance timeseries dataset produces significantly different results than a POA TMY generated by transposing a TMY dataset constructed from horizontal data. In some months the differences can be more than 3%. These results point to the need for generating TMY's using POA irradiance timeseries representing the orientation at which PV panels will be deployed.
As perovskite photovoltaics (PV) advance from the laboratory to commercial prototypes, their accurate and reliable performance testing is becoming increasingly important. The well documented dynamic response of perovskite solar cells to an external applied voltage has led to the development of steady-state performance measurement methods; however, these methods have not been widely adopted by the perovskite PV community. A key reason for this is that steady-state measurement methods take tens of minutes to complete, as opposed to conventional "fast" current-voltage (I-V) measurements usually lasting a few seconds. Fast I-Vs arise from a snapshot, almost always not a steady-state condition of the device; however, given their widespread use, the question arises: how do performance parameters of perovskite PV compare when measured with fast I-V and with a steady-state method? We compile results from ca. 320 perovskite PV cells and modules, including single junction, and two-terminal perovskite-perovskite and perovskite-Si tandems, and show that fast I-Vs can provide a useful measure of the open-circuit voltage of the devices, while the short-circuit current and the overall efficiency can be widely misestimated. We discuss implications of these findings on performance testing protocols and propose possible options for fast and accurate testing of perovskite PV.
Variational quantum eigensolver (VQE) is a promising algorithm suitable for near-term quantum computers. VQE aims to approximate solutions to exponentially-sized optimization problems by executing a polynomial number of quantum sub-problems. However, the number of subproblems scales as N-4 for typical problems of interest-a daunting growth rate that poses a serious limitation for emerging applications such as quantum computational chemistry. We mitigate this issue by exploiting the simultaneous measurability of subproblems corresponding to commuting terms. Our technique transpiles VQE instances into a format optimized for simultaneous measurement, ultimately yielding 8-30x lower cost. Our work also encompasses a synthesis tool for compiling simultaneous measurement circuits with minimal overhead. We demonstrate experimental validation of our techniques by estimating the ground state energy of deuteron with a quantum computer. We also investigate the underlying statistics of simultaneous measurement and devise an adaptive strategy for mitigating harmful covariance terms.
This is a case study of the variational quantum eigensolver (VQE) method using numerical simulations to test the influence of noise on the accuracy of the underlying circuit ansatz. We investigate a computational chemistry application of VQE to calculate the electronic ground state and its energy for Sodium Hydride (NaH), a prototypical two-electron problem. Using a one-parameter ansatz derived from unitary coupled cluster (UCC) theory, we simulate the effects of noise on the energy expectation value and variance with respect to the ansatz parameter. These numerical simulations provide insights into the accuracy of the prepared quantum state and the efficiency of the classical optimizer that iteratively refines the ansatz. We conduct a comparative study between analytical results derived for the UCC ansatz in the absence of noise and the noisy numerical simulation results obtained using an isotropic depolarizing noise model for each gate. We also compare the relative increase in noise on logically equivalent UCC ansatz circuits generated by randomized compiling. Notably, we observe that the intrinsic variance in the energy due to the simplicity of the ansatz itself compares with the noise induced by the bare circuit.
As the popularity of quantum computing continues to grow, efficient quantum machine access over the cloud is critical to both academic and industry researchers across the globe. And as cloud quantum computing demands increase exponentially, the analysis of resource consumption and execution characteristics are key to efficient management of jobs and resources at both the vendor-end as well as the client-end. While the analysis and optimization of job / resource consumption and management are popular in the classical HPC domain, it is severely lacking for more nascent technology like quantum computing.This paper proposes optimized adaptive job scheduling to the quantum cloud taking note of primary characteristics such as queuing times and fidelity trends across machines, as well as other characteristics such as quality of service guarantees and machine calibration constraints. Key components of the proposal include a) a prediction model which predicts fidelity trends across machine based on compiled circuit features such as circuit depth and different forms of errors, as well as b) queuing time prediction for each machine based on execution time estimations. Altogether, this proposal is evaluated on simulated IBM machines across a diverse set of quantum applications and system loading scenarios, and is able to reduce wait times by over 3x and improve fidelity by over 40% on specific usecases, when compared to traditional job schedulers.
Understanding complex chemical systems—such as biomolecules, catalysts, and novel materials—is a central goal of quantum simulations. Near-term strategies hinge on the use of variational quantum eigensolver (VQE) algorithms combined with a suitable ansatz. However, straightforward application of many chemically-inspired ansatze yields prohibitively deep circuits. In this work, we employ several circuit optimization methods tailored for trapped-ion quantum devices to enhance the feasibility of intricate chemical simulations. The techniques aim to lessen the depth of the unitary coupled cluster with singles and doubles (uCCSD) ansatz's circuit compilation, a considerable challenge on current noisy quantum devices. Furthermore, we use symmetry-inspired classical post-selection methods to further refine the outcomes and minimize errors in energy measurements, without adding quantum overhead. Our strategies encompass optimal mapping from orbital to qubit, term reordering to minimize entangling gates, and the exploitation of molecular spin and point group symmetry to eliminate redundant parameters. The inclusion of error mitigation via post-selection based on known molecular symmetries improves the results to near milli-Hartree accuracy. These methods, when applied to a benzene molecule simulation, enabled the construction of an 8-qubit circuit with 69 two-qubit entangling operations, pushing the limits for variational quantum eigensolver (VQE) circuits executed on quantum hardware to date. 1 1 This manuscript has been authored in part by UT-Battelle, LLC, under contract DE-AC05-000R22725 with the US Department of Energy (DOE). The publisher acknowledges the US government license to provide public access under the DOE Public Access Plan(https://energy.gov/doe-public-access-plan).
The diversity of accelerators in computer systems poses significant challenges for software developers, such as managing vendor-specific compiler toolchains, code fragmentation requiring different kernel implementations, and performance portability issues. To address these, the Intelligent Runtime System (IRIS) was developed. IRIS works across various systems, from smartphones to supercomputers, enabling automatic performance scaling based on available accelerators. It introduces abstract tasks for seamless execution transitions between accelerators while ensuring memory consistency and task dependencies. Although IRIS simplifies system details, optimal dynamic scheduling still requires user input to understand workload structures. To address this, we introduce a new scheduling policy for IRIS, termed IRIS-GNN, which is the first IRIS hybrid policy that operates in conjunction with the dynamic policies. This policy employs a Graph-Neural Network (GNN) to conduct Graph Classification of any task graphs submitted to IRIS. This GNN analyzes the structure and attributes of the task graph, categorizing it as either locality, concurrency, or mixed. This classification subsequently guides the selection of the dynamic policy used by IRIS. We provide a comparison of the performance of IRIS-GNN against the complete spectrum of IRIS’s dynamic policies, assess the overhead introduced by the GNN within this scheduling framework, and ultimately explore its practical application in real-world scenarios.