8,006 research outputs found
Recommended from our members
UPC++ v1.0 Programmer’s Guide, Revision 2020.3.0
UPC++ is a C++11 library that provides Partitioned Global Address Space (PGAS) programming. It is designed for writing parallel programs that run efficiently and scale well on distributed-memory parallel computers. The PGAS model is single program, multiple-data (SPMD), with each separate constituent process having access to local memory as it would in C++. However, PGAS also provides access to a global address space, which is allocated in shared segments that are distributed over the processes. UPC++ provides numerous methods for accessing and using global memory. In UPC++, all operations that access remote memory are explicit, which encourages programmers to be aware of the cost of communication and data movement. Moreover, all remote-memory access operations are by default asynchronous, to enable programmers to write code that scales well even on hundreds of thousands of cores
Localized cyclical variations in immunoproteins in the female genital tract and the implications on the design and assessment of mucosal infection and therapies.
PROBLEM: Fluctuating hormones regulate reproductive processes in the female genital tract. Consequent changes in the local immunological environment are likely to affect cellular interaction with infectious agents and the assessment of therapies that target mucosal infections. METHOD OF STUDY: We compared Softcup and Weck-Cel sampling protocols and assessed the changes in the concentrations of 39 soluble proteins with menstrual cycle progression in the mucosal and peripheral compartments. RESULTS: We demonstrate that the mucosal immunological profile is distinct from serum with inflammatory and migratory signatures that are localized throughout the cycle. The analytes highlighted in the mucosal compartment were generally highest at the follicular phase with a tendency to fall as the cycle progressed through ovulation to the luteal phase. CONCLUSION: Our results underscore the need to consider these localized cyclical differences in studies aimed at assessing the outcome of disease and the efficacy of mucosal vaccines and other therapies
UPC++: A high-performance communication framework for asynchronous computation
UPC++ is a C++ library that supports high-performance computation via an asynchronous communication framework. This paper describes a new incarnation that differs substantially from its predecessor, and we discuss the reasons for our design decisions. We present new design features, including future-based asynchrony management, distributed objects, and generalized Remote Procedure Call (RPC). We show microbenchmark performance results demonstrating that one-sided Remote Memory Access (RMA) in UPC++ is competitive with MPI-3 RMA; on a Cray XC40 UPC++ delivers up to a 25% improvement in the latency of blocking RMA put, and up to a 33% bandwidth improvement in an RMA throughput test. We showcase the benefits of UPC++ with irregular applications through a pair of application motifs, a distributed hash table and a sparse solver component. Our distributed hash table in UPC++ delivers near-linear weak scaling up to 34816 cores of a Cray XC40. Our UPC++ implementation of the sparse solver component shows robust strong scaling up to 2048 cores, where it outperforms variants communicating using MPI by up to 3.1x. UPC++ encourages the use of aggressive asynchrony in low-overhead RMA and RPC, improving programmer productivity and delivering high performance in irregular applications
Senior men's pacing profiles at the IAAF World Cross Country Championships.
The aim of this study was to describe pacing profiles used by senior men competing in the World Cross Country Championships. Lap times were collated for 1273 competitors across 10 races. Each individual's lap times were expressed as a percentage of the eventual winner's lap times, and athletes were grouped according to finishing position. Most athletes started the race by following the pace set by the leaders but slowed relative to the winner with each successive lap. The gold medallists were faster than the other medallists only after the final lap (P < 0.001). Most athletes who dropped out (61%) had completed the first lap within 105% of the winner's lap time. The medallists used a strategy of running close to the front from an early stage, but did not separate themselves from other top 15 finishers until halfway, with the eventual medal positions decided even closer to the finish. Athletes finishing further down had positive pacing profiles relative to the winner, possibly because of early fatigue caused by a relatively quick first lap. Athletes should note that a patient approach during the early stages can benefit not only the mass field but also those who aim to win a medal
Learning at the Interstices; Locating Practical Philosophies for Understanding Physical/virtual Inter-spaces
Virtual worlds are relatively recent developments, and so it is tempting to believe that they need to be understood through newly developed theories and philosophies. However, humans have long thought about the nature of reality and what it means to be “real.” This paper examines the three persistent philosophical concepts of Metaxis, Liminality and Space that have evolved across more than 2000 years of meditation, contemplation and reflection. Our particular focus here is on the nature of the interface between the virtual and the physical: at the interstices, and how the nature of transactions and transitions across those interfaces may impact upon learning. This may, at first, appear to be an esoteric pursuit, but we ground our arguments in primary and secondary data from research studies in higher education
Recommended from our members
UPC++ v1.0 Specification, Revision 2019.9.0
UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. We are revising the library under the auspices of the DOE’s Exascale Computing Project, to meet the needs of applications requiring PGAS support. UPC++ is intended for implementing elaborate distributed data structures where communication is irregular or fine-grained. The UPC++ interfaces for moving non-contiguous data and handling memories with different optimal access methods are composable and similar to those used in conventional C++. The UPC++ programmer can expect communication to run at close to hardware speeds. The key facilities in UPC++ are global pointers, that enable the programmer to express ownership information for improving locality, one-sided communication, both put/get and RPC, futures and continuations. Futures capture data readiness state, which is useful in making scheduling decisions, and continuations provide for completion handling via callbacks. Together, these enable the programmer to chain together a DAG of operations to execute asynchronously as high-latency dependencies become satisfied
- …