24 research outputs found

    Mixed Task and Data Parallel Executions in General Linear Methods

    Get PDF

    An HPspmd Programming Model

    Get PDF
    Building on research carried out in the Parallel Compiler Runtime Consortium (PCRC) project, this article discusses a language model that combines characteristic data-parallel features from the HPF standard with an explicitly SPMD programming style. This model, which we call the HPspmd model, is designed to facilitate direct calls to established libraries for parallel programming with distributed data. We describe a Java-based HPspmd language called HPJava

    Experiments with HP Java

    Get PDF
    We consider the possible role of Java as a language for High Performance Computing. After discussing reasons why Java may be a natural candidate for a portable parallel programming language, we describe several case studies. These cover Java socket programming, message-passing through a Java interface to MPI, and class libraries for data-parallel programming in Java

    Interactive supercomputing

    Get PDF
    Thesis (Ph.D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 1999.Includes bibliographical references (leaves 92-96).by Parry Jones Reginald Husbands.Ph.D

    Entwicklung effizienter gemischt paralleler Anwendungen

    Get PDF
    Die Ausnutzung von gemischter Parallelität durch parallele Tasks führt im Vergleich mit reiner Datenparallelität und reiner Taskparallelität häufig zu effizienteren und flexibleren parallelen Implementierungen. In der vorliegenden Dissertation wird mit dem CM-task Programmiermodell eine Erweiterung des Standardmodells der parallelen Tasks vorgestellt. Damit wird die Modellierung von Kommunikationsoperationen zwischen zeitgleich ausgeführten parallelen Tasks unterstützt, was zur besseren Strukturierung von parallelen Anwendungen mit einem regelmäßigen Datenaustausch zwischen verschiedenen Programmteilen beiträgt. Für das CM-task Programmiermodell wird das zugehörige Schedulingproblem definiert und ein entsprechender Schedulingalgorithmus vorgestellt. Die Anwendungsentwicklung im CM-task Programmiermodell wird durch das CM-task Compilerframework unterstützt, das eine gegebene plattformunabhängige Spezifiktion eines parallelen Algorithmus schrittweise in ein plattformspezifisches Koordinationsprogramm übersetzt. Das Koordinationsprogramm enthält Programmcode zum Anlegen und Verwalten der benötigten Prozessorgruppen, zum Ausführen der vom Anwender bereitgestellten CM-tasks auf diesen Prozessorgruppen sowie zur Realisierung der benötigten Datenumverteilungsoperationen zwischen den Prozessorgruppen. Der Aufbau und die Schnittstellen des CM-task Compilerframeworks werden in der vorliegenden Dissertation detailliert beschrieben. Anhand verschiedener Anwendungen aus dem wissenschaftlichen Rechnens wird die Einsetzbarkeit des CM-task Programmiermodells und des CM-task Compilerframeworks demonstriert.Mixed parallel programming models based on parallel tasks often lead to more efficient and more flexible implementations compared to pure data and pure task parallelism. In this thesis, the CM-task programming model is proposed which extends standard parallel tasks such that communication phases between concurrently executed parallel tasks can be modeled thus allowing a better structuring of parallel applications that require a frequent data exchange between different program parts. Based on the CM-task programming model the CM-task scheduling problem is defined and a scheduling algorithm is proposed. The development of parallel applications within the CM-task programming model is supported by the CM-task compiler framework, which transforms a given platform independent specification of a parallel algorithm into a platform specific coordination program. The coordination program is responsible for the creation and the management of the required processor groups, the execution of the user provided CM-tasks on these processor groups and for the implementation of the data re-distribution operations between these processor groups. The architecture and the interfaces of the CM-task compiler framework are explained in detail. The applicability of the CM-task programming model and the CM-task compiler framework are demonstrated for several scientific applications

    Toxigenic effects of benthic diatoms upon grazing activity of the sea urchin Paracentrotus lividus

    Get PDF
    Diatoms are unicellular algae playing a key role as photosynthetic organisms in the world’s ocean food web. The chemical ecology of planktonic diatoms is well documented, but few studies have reported on the effects of benthic diatoms on their consumers, also due to difficulties in the collection, quantification and massive culturing of benthic species. This study investigates, for the first time, the effects of diets based on four benthic diatoms, Cylindrotheca closterium, Nanofrustulum shiloi, Cocconeis scutellum and Diploneis sp. isolated from the leaves of the seagrass Posidonia oceanica, on the sea urchin Paracentrotus lividus. The results demonstrate a toxigenic effect on embryos generated by females fed for one month on these benthic diatoms by multidisciplinary approaches. (i) Morphological observations by microscope revealed a noxious effects of C. closterium, N. shiloi and Diploneis sp. on embryos deriving from adult sea urchin P. lividus fed for one month on these diets, with N. shiloi showing the strongest effects; on the contrary, C. scutellum showed no effects, producing embryos as those deriving from the control diet. Malformations of these embryos were very similar to those observed after treatment with planktonic diatom-derived oxylipins. (ii) Metabolomic analysis by Nuclear Magnetic Resonance (1H-NMR) demonstrated that feeding on these diatoms induced variations in the levels of lipids and/or amino acids in the gonads of P. lividus. (iii) Molecular analysis by de novo transcriptome and Real Time qPCR showed that benthic diatoms were able to affect the expression levels of several genes, involved in different cellular processes. (iv) Chemical analyses by Gas Chromatography–Mass Spectrometry (GC-MS) and Liquid Chromatography–Mass Spectrometry have been focused on two classes of secondary metabolites isolated in planktonic diatoms: the oxylipins and sterol sulfates. All benthic diatoms analysed in this work produced oxylipins with the only exception of Diploneis sp., which in turn produced some unknown compounds deriving from polyunsaturated fatty acids metabolism. Moreover, all four benthic diatoms showed the presence of StS. This study is the first demonstration of the toxic effects of benthic epiphytic diatoms on embryos and larvae of the sea urchin P. lividus due to the feeding of adults during gonadal maturation. Furthermore, the present work assumes a considerable ecological relevance, opening new perspectives on the study of diatom-derived secondary metabolites influencing their grazers

    Indexed dependence metadata and its applications in software performance optimisation

    No full text
    To achieve continued performance improvements, modern microprocessor design is tending to concentrate an increasing proportion of hardware on computation units with less automatic management of data movement and extraction of parallelism. As a result, architectures increasingly include multiple computation cores and complicated, software-managed memory hierarchies. Compilers have difficulty characterizing the behaviour of a kernel in a general enough manner to enable automatic generation of efficient code in any but the most straightforward of cases. We propose the concept of indexed dependence metadata to improve application development and mapping onto such architectures. The metadata represent both the iteration space of a kernel and the mapping of that iteration space from a given index to the set of data elements that iteration might use: thus the dependence metadata is indexed by the kernel’s iteration space. This explicit mapping allows the compiler or runtime to optimise the program more efficiently, and improves the program structure for the developer. We argue that this form of explicit interface specification reduces the need for premature, architecture-specific optimisation. It improves program portability, supports intercomponent optimisation and enables generation of efficient data movement code. We offer the following contributions: an introduction to the concept of indexed dependence metadata as a generalisation of stream programming, a demonstration of its advantages in a component programming system, the decoupled access/execute model for C++ programs, and how indexed dependence metadata might be used to improve the programming model for GPU-based designs. Our experimental results with prototype implementations show that indexed dependence metadata supports automatic synthesis of double-buffered data movement for the Cell processor and enables aggressive loop fusion optimisations in image processing, linear algebra and multigrid application case studies

    PC-grade parallel processing and hardware acceleration for large-scale data analysis

    Get PDF
    Arguably, modern graphics processing units (GPU) are the first commodity, and desktop parallel processor. Although GPU programming was originated from the interactive rendering in graphical applications such as computer games, researchers in the field of general purpose computation on GPU (GPGPU) are showing that the power, ubiquity and low cost of GPUs makes them an ideal alternative platform for high-performance computing. This has resulted in the extensive exploration in using the GPU to accelerate general-purpose computations in many engineering and mathematical domains outside of graphics. However, limited to the development complexity caused by the graphics-oriented concepts and development tools for GPU-programming, GPGPU has mainly been discussed in the academic domain so far and has not yet fully fulfilled its promises in the real world. This thesis aims at exploiting GPGPU in the practical engineering domain and presented a novel contribution to GPGPU-driven linear time invariant (LTI) systems that are employed by the signal processing techniques in stylus-based or optical-based surface metrology and data processing. The core contributions that have been achieved in this project can be summarized as follow. Firstly, a thorough survey of the state-of-the-art of GPGPU applications and their development approaches has been carried out in this thesis. In addition, the category of parallel architecture pattern that the GPGPU belongs to has been specified, which formed the foundation of the GPGPU programming framework design in the thesis. Following this specification, a GPGPU programming framework is deduced as a general guideline to the various GPGPU programming models that are applied to a large diversity of algorithms in scientific computing and engineering applications. Considering the evolution of GPU’s hardware architecture, the proposed frameworks cover through the transition of graphics-originated concepts for GPGPU programming based on legacy GPUs and the abstraction of stream processing pattern represented by the compute unified device architecture (CUDA) in which GPU is considered as not only a graphics device but a streaming coprocessor of CPU. Secondly, the proposed GPGPU programming framework are applied to the practical engineering applications, namely, the surface metrological data processing and image processing, to generate the programming models that aim to carry out parallel computing for the corresponding algorithms. The acceleration performance of these models are evaluated in terms of the speed-up factor and the data accuracy, which enabled the generation of quantifiable benchmarks for evaluating consumer-grade parallel processors. It shows that the GPGPU applications outperform the CPU solutions by up to 20 times without significant loss of data accuracy and any noticeable increase in source code complexity, which further validates the effectiveness of the proposed GPGPU general programming framework. Thirdly, this thesis devised methods for carrying out result visualization directly on GPU by storing processed data in local GPU memory through making use of GPU’s rendering device features to achieve realtime interactions. The algorithms employed in this thesis included various filtering techniques, discrete wavelet transform, and the fast Fourier Transform which cover the common operations implemented in most LTI systems in spatial and frequency domains. Considering the employed GPUs’ hardware designs, especially the structure of the rendering pipelines, and the characteristics of the algorithms, the series of proposed GPGPU programming models have proven its feasibility, practicality, and robustness in real engineering applications. The developed GPGPU programming framework as well as the programming models are anticipated to be adaptable for future consumer-level computing devices and other computational demanding applications. In addition, it is envisaged that the devised principles and methods in the framework design are likely to have significant benefits outside the sphere of surface metrology.EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore