294 research outputs found

    Parallelizing Julia with a Non-Invasive DSL

    Get PDF
    Computational scientists often prototype software using productivity languages that offer high-level programming abstractions. When higher performance is needed, they are obliged to rewrite their code in a lower-level efficiency language. Different solutions have been proposed to address this trade-off between productivity and efficiency. One promising approach is to create embedded domain-specific languages that sacrifice generality for productivity and performance, but practical experience with DSLs points to some road blocks preventing widespread adoption. This paper proposes a non-invasive domain-specific language that makes as few visible changes to the host programming model as possible. We present ParallelAccelerator, a library and compiler for high-level, high-performance scientific computing in Julia. ParallelAccelerator\u27s programming model is aligned with existing Julia programming idioms. Our compiler exposes the implicit parallelism in high-level array-style programs and compiles them to fast, parallel native code. Programs can also run in "library-only" mode, letting users benefit from the full Julia environment and libraries. Our results show encouraging performance improvements with very few changes to source code required. In particular, few to no additional type annotations are necessary

    ACC Saturator: Automatic Kernel Optimization for Directive-Based GPU Code

    Full text link
    Automatic code optimization is a complex process that typically involves the application of multiple discrete algorithms that modify the program structure irreversibly. However, the design of these algorithms is often monolithic, and they require repetitive implementation to perform similar analyses due to the lack of cooperation. To address this issue, modern optimization techniques, such as equality saturation, allow for exhaustive term rewriting at various levels of inputs, thereby simplifying compiler design. In this paper, we propose equality saturation to optimize sequential codes utilized in directive-based programming for GPUs. Our approach simultaneously realizes less computation, less memory access, and high memory throughput. Our fully-automated framework constructs single-assignment forms from inputs to be entirely rewritten while keeping dependencies and extracts optimal cases. Through practical benchmarks, we demonstrate a significant performance improvement on several compilers. Furthermore, we highlight the advantages of computational reordering and emphasize the significance of memory-access order for modern GPUs

    Sonochemical synthesis, characterization, and effects of temperature, power ultrasound and reaction time on the morphological properties of two new nanostructured mercury(II) coordination supramolecule compounds

    Get PDF
    Two new mercury(II) coordination supramolecular compounds (CSCs) (1D and 0D), [Hg(L)(I)] (1) and [Hg(L')(SCN)]·2HO (2) (L = 2-amino-4-methylpyridine and L' = 2,6-pyridinedicarboxlic acid), have been synthesized under different experimental conditions. Micrometric crystals (bulk) or nano-sized materials have been obtained depending on using the branch tube method or sonochemical irradiation. All materials have been characterized by field emission scanning electron microscope (FESEM), scanning electron microscopy (SEM), powder X-ray diffraction (PXRD) and FT-IR spectroscopy. Single crystal X-ray analyses on compounds 1 and 2 show that Hg ions are 4-coordinated and 5-coordinated, respectively. Topological analysis shows that the compound 1 and 2 have 2C1, sql net. The thermal stability of compounds 1 and 2 in bulk and nano-size has been studied by thermal gravimetric (TG), differential thermal analyses (DTA) for 1 and differential scanning calorimetry (DSC) for 2, respectively. Also, by changing counter ions were obtained various structures 1 and 2 (1D and 0D, respectively). The role of different parameters like power of ultrasound irradiation, reaction time and temperature on the growth and morphology of the nano-structures are studied. Results suggest that increasing power ultrasound irradiation and temperature together with reducing reaction time and concentration of initial reagents leads to a decrease in particle size
    corecore