10 research outputs found

    OpenSHMEM Application Programming Interface, v1.0 Final

    Full text link
    This document defines the elements of the OpenSHMEM Application Programming Interface. The purpose of the OpenSHMEM API is to provide programmers with a standard interface for writing parallel programs using C, C++ and Fortran with one-sided communication

    Static Analysis Tool for Synchronization Analysis, Representation, and Optimizations for Applications Using OpenSHMEM

    No full text
    Programming models provide application developers abstraction from the underlying hardware. OpenSHMEM library follows the Partitioned Global Address Space programming model, which is characterized by local and global views of data. The OpenSHMEM library API provides synchronization primitives that require partici- pation of some or all OpenSHMEM processes executing the application (collective). Since most distributed parallel applications spend 30-40% of their execution time performing synchronization, it is a constant struggle for most application programmers to relax the memory consistency constraints while guaranteeing reproducible and correct results. From our experience, we have seen that generally programmers tend to over-synchronize when in doubt, and the best approach towards creating correct, scalable, and performance driven applications is to help programmers leverage opti- mizations based on the semantics of the OpenSHMEM library. Unfortunately, most application developers are not well acquainted with all the nuances of the targeted programming libraries and spend most of their development time focused on the correctness aspect alone. This leads to a need for a framework to provide programmers better understanding of the applications and provide useful feed back making it easier for the application developer to incorporate basic and advanced optimizations into their applications with ease. For this we collaborated with the Oak Ridge National Laboratory (ORNL) to build a compiler-based tool called the OpenSHMEM analyzer (OSA), which makes the OpenUH compiler aware of the OpenSHMEM library semantics. Along with basic semantic checks, the analyzer provides useful feedback at compile time, leading to faster turn around time and lesser wastage of resources in terms of debugging time or failed execution runs.Computer Science, Department o

    Driving Scientific and Engineering Discoveries Through the Integration of Experiment, Big Data, and Modeling and Simulation

    No full text
    Buku ini berisi beberapa paper di bidang ilmu komputer terapan dan AI. Di dalamnya akan ada beberapa penelitian dengan subjek database, computing platform, network, dll.xvi, 467 p
    corecore