Search NASA⌕ Search

SEARCH · Search NASA

Results for “Clang”

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.

Clang UPC2C Translator (Clang UPC2C) v9.0.1-1

Clang Unified Parallel C 2 C (Clang UPC2C) translator compiles programs written in the UPC (Unified Parallel C) language to ISO C99, with calls to the Berkeley UPC runtime system. The Clang UPC2C compiler extends the capabilities of the Clang LLVM C frontend to comply with the UPC Language Specification version 1.3. The compiler generates programs that run on a wide variety of systems ranging from workstations to leadership-class supercomputers, in conjunction with the Berkeley UPC runtime and GASNet communication system. In addition to the standard UPC libraries, Clang UPC2C also provides access to Berkeley UPC library extensions.

Hargrove, Paul↗

Clang UPC Compiler (Clang UPC) v3.9.1-1

Clang Unified Parallel C (Clang UPC) provides a compilation and execution environment for programs written in the UPC (Unified Parallel C) language. The Clang UPC compiler extends the capabilities of the Clang LLVM C compiler to comply with the UPC Language Specification version 1.3. It includes support for UPC collectives and a configurable pointer-to-shared representation. The compiler generates programs that run on a wide variety of systems ranging from workstations to leadership-class supercomputers, in conjunction with the Berkeley UPC runtime and GASNet communication system. This compiler generates assembly code / object code directly for Intel processors and IBM PowerPC.

Hargrove, Paul↗

Clacc: OpenACC for C/C++ in Clang

The Clacc project has developed OpenACC compiler, runtime, and profiling interface support for C/C++ by extending Clang and LLVM. A key Clacc design feature is that it translates OpenACC to OpenMP to leverage the OpenMP offloading support that is actively being developed for Clang and LLVM. A benefit of this design is support for two compilation modes: traditional compilation mode produces a binary, and source-to-source mode produces OpenMP source. Clacc has been deployed on Oak Ridge National Laboratory’s (ORNL’s) Frontier, on which Clacc is the only OpenACC implementation for C/C++. Clacc supports x86_64, POWER9, AMD GPUs, and NVIDIA GPUs. Clacc’s OpenACC profiling interface support has been integrated with TAU, which is also deployed on Frontier. While Clacc has always supported C as a base language, Clacc also has increasing C++ support, including support for Kokkos’s OpenACC back end. Clacc itself is hosted publicly on GitHub. In this paper, we describe Clacc’s design and mapping from OpenACC directives to OpenMP. We also present a performance evaluation on ORNL’s Frontier (AMD MI250x GPU offload) and Argonne National Laboratory’s (ANL’s) Polaris (NVIDIA A100 GPU offload) for various SPEC ACCEL and Kokkos OpenACC back end benchmarks.

97 MATHEMATICS AND COMPUTING↗

The new organization: Rethinking work in the age of virtuality

Like two enormous steam engines, throttles wide-open, bells clanging and whistles screeching, careening toward each other down the same track, two powerful forces are about to collide and the point of collision will be smack in the middle of the white-collar workplace. Moreover, once the dust has settled, it is quite likely that we will never be able to think about the white-collar workplace in quite the same way again. The forces couldn't be more different. One force, the theory of complex adaptive systems, has its roots in the radical new sciences of chaos and complexity. The other force, the notion of organizations being learning systems, more like living organisms than 'information factories,' is an outgrowth of the new management thinking of leading organizational theorists like the Claremont Graduate School's Peter Drucker, MIT's Peter Senge, and Hitotsubashi University's Ikujiro Nonaka. Nevertheless, both the new science and the new management thinking seem to point to a similar and perhaps even startling conclusion: the business organization of the 21st century will look nothing like the bureaucratic organizational model that prevails in most companies today, a model that has remained largely unchanged since the manufacturing heydays of 1950s. While the details of the new organization remain sketchy, its rough outline is already beginning to take shape. Rather than simply being flatter through the elimination of layer upon layer of 'middle management,' the new organization is likely to be made up of networks of specialists who will be, for all practical purposes, self-managing. Rather than focusing on issues like re-engineering business processes, a holdover from Taylorism, the focus will be on supporting the continuous learning of an organization's specialists, the sharing of this learning with other specialists, and the embedding of this learning in the organization's physical structure. Finally, rather than viewing themselves as going through relatively long periods of stability punctuated by shorts bursts of 'reorganization,' business enterprises will come to realize that their very survival depends upon their being in a state of continuous organization. The implications of the new organization with respect to how companies approach the planning, design, and management of the technology infrastructure that enables individual learning, self-management, and continuous orgsnization, are both numerous and far-reaching. As part of this technology infrastructure, the white-collar workplace exists in the form it does today as a direct result of management's beliefs about how time, space, and tools ought to be organized and managed in order to accomplish useful intellectual work. Obviously, if these beliefs change radically, as both the new science and the new management thinking suggest is about to happen, then it is almost inevitable that the form and function of the white-collar workplace will change radically, as well. Will there even be a white-collar workplace in the 21st century, in the sense of purpose-built facilities designed to support the co-location of large numbers of white-collar workers? Only time will tell. However, the leading indicators seem to suggest that, as the old saying goes, 'We ain't seen nothin' yet!'

Sutherland, Duncan B., Jr.↗

Autotuning PolyBench benchmarks with LLVM Clang/Polly loop optimization pragmas using Bayesian optimization

Here, we develop a ytopt autotuning framework that leverages Bayesian optimization to explore the parameter space search and compare four different supervised learning methods within Bayesian optimization and evaluate their effectiveness. We select six of the most complex PolyBench benchmarks and apply the newly developed LLVM Clang/Polly loop optimization pragmas to the benchmarks to optimize them. We then use the autotuning framework to optimize the pragma parameters to improve their performance. The experimental results show that our autotuning approach outperforms the other compiling methods to provide the smallest execution time for the benchmarks syr2k, 3mm, heat-3d, lu, and covariance with two large datasets in 200 code evaluations for effectively searching the parameter spaces with up to 170,368 different configurations. We find that the Floyd-Warshall benchmark did not benefit from autotuning. To cope with this issue, we provide some compiler option solutions to improve the performance. Then we present loop autotuning without a user's knowledge using a simple mctree autotuning framework to further improve the performance of the Floyd-Warshall benchmark. We also extend the ytopt autotuning framework to tune a deep learning application.

79 ASTRONOMY AND ASTROPHYSICS↗