888 research outputs found

    Jedule: A Tool for Visualizing Schedules of Parallel Applications

    No full text
    International audienceTask scheduling is one of the most prominent problems in the era of parallel computing. We find scheduling algorithms in every domain of computer science, e.g., mapping multiprocessor tasks to clusters, mapping jobs to grid resources, or mapping fine-grained tasks to cores of multicore processors. Many tools exist that help understand or debug an application by presenting visual representations of a certain program run, e.g., visualizations of MPI traces. However, often developers want to get a global and abstract view of their schedules first. In this paper we introduce Jedule, a tool dedicated to visualize schedules of parallel applications. We demonstrate the effectiveness of Jedule by showing how it helped analyzing problems in several case studies

    QCDUtils

    Full text link
    This manual describes a set of utilities developed for Lattice QCD computations. They are collectively called QCDUtils. They comprise a set of Python programs each of them with a specific function: download gauge ensembles from the public NERSC repository, convert between formats, split files by time-slices, compile and run physics algorithms, generate visualizations in the form of VTK files, convert the visualizations into images, perform bootstrap analysis of results, fit the results of the analysis, and plot those results. These tools implement the typical workflow of most Lattice QCD computations and automate it by enforcing filename conventions: the output of one tool is read by the next tool in the workflow. This manual is organized as a series of autonomous recipes which can be combined together

    GTI: A Generic Tools Infrastructure for Event-Based Tools in Parallel Systems

    Full text link
    Abstract not provide

    Runtime MPI Correctness Checking with a Scalable Tools Infrastructure

    Get PDF
    Increasing computational demand of simulations motivates the use of parallel computing systems. At the same time, this parallelism poses challenges to application developers. The Message Passing Interface (MPI) is a de-facto standard for distributed memory programming in high performance computing. However, its use also enables complex parallel programing errors such as races, communication errors, and deadlocks. Automatic tools can assist application developers in the detection and removal of such errors. This thesis considers tools that detect such errors during an application run and advances them towards a combination of both precise checks (neither false positives nor false negatives) and scalability. This includes novel hierarchical checks that provide scalability, as well as a formal basis for a distributed deadlock detection approach. At the same time, the development of parallel runtime tools is challenging and time consuming, especially if scalability and portability are key design goals. Current tool development projects often create similar tool components, while component reuse remains low. To provide a perspective towards more efficient tool development, which simplifies scalable implementations, component reuse, and tool integration, this thesis proposes an abstraction for a parallel tools infrastructure along with a prototype implementation. This abstraction overcomes the use of multiple interfaces for different types of tool functionality, which limit flexible component reuse. Thus, this thesis advances runtime error detection tools and uses their redesign and their increased scalability requirements to apply and evaluate a novel tool infrastructure abstraction. The new abstraction ultimately allows developers to focus on their tool functionality, rather than on developing or integrating common tool components. The use of such an abstraction in wide ranges of parallel runtime tool development projects could greatly increase component reuse. Thus, decreasing tool development time and cost. An application study with up to 16,384 application processes demonstrates the applicability of both the proposed runtime correctness concepts and of the proposed tools infrastructure

    esys User's guide: Solving partial differential equations with Escript and Finley. Release 3.0 (r2601)

    Get PDF
    esys.escript is a python-based environment for implementing mathematical models, in particular those based on coupled, non-linear, time-dependent partial differential equations. It consists of four major components: • esys.escript core library • finite element solver esys.finley (which uses fast vendor-supplied solvers or our paso linear solver library) • the meshing interface esys.pycad • a model library. The current version supports parallelization through both MPI for distributed memory and OpenMP for distributed shared memory. The esys.pyvisi module from previous releases has been deprecated. For more info on this and other changes from previous releases see Appendix A.2. If you use this software in your research, then we would appreciate (but do not require) a citation. Some relevant references can be found in Appendix A.3
    • …
    corecore