49 research outputs found

    Automatically Harnessing Sparse Acceleration

    Get PDF
    Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant. Moreover, libraries tie programs into vendor-specific software and hardware ecosystems, creating non-portable code. In this paper, we develop a new approach based on our specification Language for implementers of Linear Algebra Computations (LiLAC). Rather than requiring the application developer to (re)write every program for a given library, the burden is shifted to a one-off description by the library implementer. The LiLAC-enabled compiler uses this to insert appropriate library routines without source code changes. LiLAC provides automatic data marshaling, maintaining state between calls and minimizing data transfers. Appropriate places for library insertion are detected in compiler intermediate representation, independent of source languages. We evaluated on large-scale scientific applications written in FORTRAN; standard C/C++ and FORTRAN benchmarks; and C++ graph analytics kernels. Across heterogeneous platforms, applications and data sets we show speedups of 1.1×\times to over 10×\times without user intervention.Comment: Accepted to CC 202

    New insights into the synergism of nucleoside analogs with radiotherapy

    Get PDF
    Nucleoside analogs have been frequently used in combination with radiotherapy in the clinical setting, as it has long been understood that inhibition of DNA repair pathways is an important means by which many nucleoside analogs synergize. Recent advances in our understanding of the structure and function of deoxycytidine kinase (dCK), a critical enzyme required for the anti-tumor activity for many nucleoside analogs, have clarified the mechanistic role this kinase plays in chemo- and radio-sensitization. A heretofore unrecognized role of dCK in the DNA damage response and cell cycle machinery has helped explain the synergistic effect of these agents with radiotherapy. Since most currently employed nucleoside analogs are primarily activated by dCK, these findings lend fresh impetus to efforts focused on profiling and modulating dCK expression and activity in tumors. In this review we will briefly review the pharmacology and biochemistry of the major nucleoside analogs in clinical use that are activated by dCK. This will be followed by discussions of recent advances in our understanding of dCK activation via post-translational modifications in response to radiation and current strategies aimed at enhancing this activity in cancer cells

    Double Inspection for Run-Time Loop Parallelization

    No full text

    On the Scalability of an Automatically Parallelized Irregular Application

    No full text
    Abstract. Irregular applications, i.e., programs that manipulate pointer-based data structures such as graphs and trees, constitute a challenging target for pa-rallelization because the amount of parallelism is input dependent and changes dynamically. Traditional dependence analysis techniques are too conservative to expose this parallelism. Even manual parallelization is difficult, time consum-ing, and error prone. The Galois system parallelizes such applications using an optimistic approach that exploits higher-level semantics of abstract data types. In this paper, we study the performance and scalability of a Galoised, that is, automatically parallelized, version of Delaunay mesh refinement (DR) on a shared-memory system with 128 CPUs. DR is an important irregular application that is used, e.g., in graphics and finite-element codes. The parallelized program scales to 64 threads, where it reaches a speedup of 25.8. For large numbers of threads, the performance is hampered by the load imbalance and the nonuniform memory latency, both of which grow as the number of threads increases. While these two issues will have to be addressed in future work, we believe our results already show the Galois approach to be very promising
    corecore