Search NASA⌕ Search

Engineering topics

Anderson, Todd A.

Publications and source records attributed to Anderson, Todd A..

PyOMP: Multithreaded Parallel Programming in Python

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.

97 MATHEMATICS AND COMPUTING↗

Origin of the isotopic composition of natural perchlorate: Experimental results for the impact of reaction pathway and initial ClO x reactant

Natural perchlorate (ClO 4 - ) exists in many places on Earth, in lunar regolith, meteorites, and on the surface of Mars. Terrestrial natural ClO 4 - has widely variable Cl and O stable isotopic compositions (δ 37 Cl, δ 18 O, Δ 17 O). The δ 18 O and Δ 17 O values of ClO 4 - from the most hyper-arid locations co-vary. ClO 4 - from less arid areas has relatively little 17 O excess and poor Δ 17 O-δ 18 O correlation. ClO 4 - from the Atacama Desert has unusually low δ 37 Cl (<-10‰) and exhibits a positive correlation between δ 37 Cl and δ 18 O, while the δ 37 Cl of ClO 4 - from all other locations varies between -5 and +7‰ with no δ 37 Cl-δ 18 O covariation. To evaluate the impact of different precursors (ClO x ) and reaction pathways on the isotopic composition of ClO 4 - , we measured the isotopic composition of ClO 4 - produced in the laboratory by UV or O 3 mediated aqueous oxidation of Cl-, OCl-, ClO2-, and ClO2° as well as O 3 mediated oxidation of dry NaCl. ClO x oxidation in aqueous or dry systems enriched in O 3 produced ClO 4 - with Δ 17 O values that generally increased with the number of O atoms required and included evidence that the site-specific 17 O anomaly in O 3 was preferentially transferred to ClO 4 - . Based on the inferred number of O atoms sourced from O 3 , and known Cl and O reaction pathways, it appears that ClO 2 ° and ClO 3 * were required intermediates in the production of ClO 4 - in the O 3 experiments. ClO x aqueous oxidation by UV irradiation produced ClO 4 - with a large range of δ 18 O values and little or no 17 O anomaly. ClO 3 - was produced to a much greater extent than ClO 4 - in all experiments except dry oxidation of NaCl by O 3 . The isotopic composition of ClO 3 - was distinct from that of ClO 4 - produced from the same initial reactants. Combined results of O 3 and UV mediated reactions largely bracketed the range of natural ClO 4 - δ 18 O and Δ 17 O values as well as δ 37 Cl values of non-Atacama natural samples, but no conditions produced the low δ 37 Cl values of Atacama ClO 4 - . Finally, our results indicate that variation in production mechanisms, possibly combined with isotopically variable precursors, could be responsible for much of the observed isotopic variation in natural ClO 4 - and ClO 3 - .

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗