Peta-scale high-perfomlance computing systems are increasingly built with heterogeneous CPU and GPU nodes to achieve higher power efficiency and computation throughput. While providing unprecedented capabilities to co...
详细信息
Peta-scale high-perfomlance computing systems are increasingly built with heterogeneous CPU and GPU nodes to achieve higher power efficiency and computation throughput. While providing unprecedented capabilities to conduct computational experiments of historic significance, these systems are presently difficult to program. The users, who are domain experts rather than computer experts, prefer to use programming models closer to their domains (e.g., physics and biology) rather than MPI and OpenME This has led the development of domain-specific programming that provides domain-specific programming interfaces but abstracts away some performance-critical architecture details. Based on experience in designing large-scale computing systems, a hybrid programming framework for scientific computing on heterogeneous architectures is proposed in this work. Its design philosophy is to provide a collaborative mechanism for domain experts and computer experts so that both domain-specific knowledge and performance-critical architecture details can be adequately exploited. Two real-world scientific applications have been evaluated on TH-IA, a peta-scale CPU-GPU heterogeneous system that is currently the 5th fastest supercomputer in the world. The experimental results show that the proposed framework is well suited for developing large-scale scientific computing applications on peta-scale heterogeneous CPU/GPU systems.
Dynamic programming is an important technique widely used in many scientific applications. Due to the massive volume of applications' data in practice, parallel and distributed DP is a must. However, writing a par...
详细信息
Dynamic programming is an important technique widely used in many scientific applications. Due to the massive volume of applications' data in practice, parallel and distributed DP is a must. However, writing a parallel and distributed DP program is difficult and error prone because of its intrinsically strong data dependency. In this paper, we present DPX10, a DAG-based distributed X10 framework aiming at simplifying the parallel programming for DP applications. DPX10 enables users to write highly efficient parallel DP programs without much effort. For DPX10 programming, users only need to do two things: 1) Instantiating a DAG pattern by indicating the dependency between vertices of the DAG;2) Implementing the DP application's logic in the compute method of the vertices. DPX10 provides eight commonly used DAG patterns and a simple API to allow users to customize their own DAG patterns. All the tiresome work of DP parallelization including DAG distribution, tasks scheduling, and tasks communication are hidden from users and covered by DPX10. Moreover, DPX10 is fault-tolerant and has a mechanism to handle the problem of straggler tasks, which run much slower than other tasks due to unexpected resource contention. Finally, we use four DP applications with up to 2 billion vertices running on 240 cores to demonstrate the simplicity, efficiency, and scalability of our proposed framework. (C) 2016 Elsevier B.V. All rights reserved.
For over two decades, the OpenGL API provided users with the means for implementing versatile, feature-rich, and portable real-time graphics applications. Consequently, it has been widely adopted by practitioners and ...
详细信息
For over two decades, the OpenGL API provided users with the means for implementing versatile, feature-rich, and portable real-time graphics applications. Consequently, it has been widely adopted by practitioners and educators alike and is deeply ingrained in many curricula that teach real-time graphics for higher education. Over the years, the architecture of graphics processing units (GPUs) incrementally diverged from OpenGL's conceptual design. The more recently introduced Vulkan API provides a more modern, fine-grained approach for interfacing with the GPU, which allows a high level of controllability and, thereby, deep insights into the inner workings of modern GPUs. This property makes the Vulkan API especially well suitable for teaching graphics programming in university education, where fundamental knowledge shall be conveyed. Hence, it stands to reason that educators who have their students' best interests at heart should provide them with corresponding lecture material. However, Vulkan is notoriously verbose and rather challenging for first-time users, thus transitioning to this new API bears a considerable risk of failing to achieve expected teaching goals. In this paper, we document our experiences after teaching Vulkan in both introductory and advanced graphics courses side-by-side with conventional OpenGL. A collection of surveys enables us to draw conclusions about perceived workload, difficulty, and students' acceptance of either approach. In doing so, we identify suitable conditions and recommendations for teaching Vulkan to both undergraduate and graduate students. (c) 2023 The Author(s). Published by Elsevier Ltd. This is an open access article under the CC BY license (http://***/licenses/by/4.0/).
Crystals made of periodically well-ordered nano- and/or micro-scale elements can interact with light to give novel properties. These perfect crystals have applications in a wide range of areas. For example, invisibili...
详细信息
We present the design and implementation of a framework for interchangeable distributed algorithms. The algorithms are drawn from the set which includes mutual exclusion, deadlock detection and agreement protocols, an...
详细信息
We present the design and implementation of a framework for interchangeable distributed algorithms. The algorithms are drawn from the set which includes mutual exclusion, deadlock detection and agreement protocols, and we have implemented several examples of the first tonsiswo of these. Algon cts of a library of algorithms, a framework for incorporating them into a new or existing system, and a tool for evaluating comparative performance. In this way, much of the complexity related to distributed systems can be isolated in its own component level and the programmer can choose from among different algorithms in the same class based on performance in a given application. Incorporating many algorithms in a single framework was made possible by the observation that algorithms in a given class, e.g. mutual exclusion, almost always expose the same methods. These methods interface with an Algon scheduler which maintains state and provides convenient hooks for the application to invoke the services of the algorithm. In this paper we describe the structure of Algon in detail, with a distributed deadlock detection algorithm as the case study. We then extend the notion of separation of concerns by creating an addition layer in Algon, underneath which the middleware that runs on each node can be interchanged, for example from Java-RMI to CORBA. Challenges in the re-tooling of the system, related to multiple inheritance, exceptions and the automatic generation of stubs and skeletons in our implementation language, Java, were overcome in novel ways. Algon has the potential to be a framework with a long life, as it can adapt to new middleware, such as. NET.
We consider the issues of routing under constraints and formulate a mathematical problem of visiting megalopolises. The order of visits is subject to precedence constraints. In addition, the cost functions depend on t...
详细信息
In computer graphics (CG) education, the challenge of finding modern, versatile tools is significant, particularly when integrating both legacy and advanced technologies. Traditional frameworks, often reliant on solid...
详细信息
ISBN:
(纸本)9798400711367
In computer graphics (CG) education, the challenge of finding modern, versatile tools is significant, particularly when integrating both legacy and advanced technologies. Traditional frameworks, often reliant on solid, yet outdated APIs like OpenGL, limit the exploration of cutting-edge graphics techniques. To address this, we introduce pyGANDALF, a unique, lightweight, open-source CG framework built on three pillars: Entity-Component-System (ECS) architecture, Python programming, and WebGPU integration. This combination sets pyGANDALF apart by providing a streamlined ECS design with an editor layer, compatibility with WebGPU for state-of-the-art features like compute and ray tracing pipelines, and a programmer-friendly Python environment. The framework supports modern features, such as Physically Based Rendering (PBR) capabilities and integration with Universal Scene Description (USD) formats, making it suitable for both educational demonstrations and real-world applications. Evaluations by expert users confirmed that pyGANDALF effectively balances ease of use with advanced functionality, preparing students for contemporary CG development challenges.
The plethora, the diversity of Internet of Things (IoT) devices and the targeted multi-domain applications, have created a complex environment for new developers to create applications. Also, the introduction of scien...
详细信息
ISBN:
(纸本)9781450372923
The plethora, the diversity of Internet of Things (IoT) devices and the targeted multi-domain applications, have created a complex environment for new developers to create applications. Also, the introduction of science, technology, engineering, and mathematics (STEM) courses, starting from the elementary school, it is not just a trend anymore but an important part of the educational curriculum. Usually, however, the platforms used in these STEM courses, like Arduino, Raspberry Pi and others, lack any capabilities for central or distributed coordination between the involved devices. In our work, we present OpenMIC library for the development of multi-agent applications running in several devices, providing intelligence and computing capabilities. We discuss the architecture and the implementation details of the OpenMIC library and describe how new applications based on the OpenMIC library can be developed. An example application is also presented for the monitoring and the management of multiple IoT devices.
The article describes the development of a new open source cross-platform morphological analysis library for the Russian language. The aim of the library is to obtain the original wordforms for the given word or gener...
详细信息
ISBN:
(纸本)9781450361767
The article describes the development of a new open source cross-platform morphological analysis library for the Russian language. The aim of the library is to obtain the original wordforms for the given word or generate the desired wordform according to provided morphological characteristics. The library is designed for using in multi-threaded applications without significant loss of performance and additional data integrity controls which allows integrating it into industrial high-load systems of any kind. The article describes optimization of data structures and processing algorithms when creating a library of morphological analysis written in Java language. Cross-platform morphological analysis library of texts in Russian (JMorfSDK) could be useful for linguists and software developers, for morphological analysis or words generation.
Due to the great variability of asthma symptomatology;the medical teams find practical difficulties in determining the severity of asthma. Asthma is very commonly encounter in daily medical practice. This work objecti...
详细信息
ISBN:
(纸本)9781614998280;9781614998273
Due to the great variability of asthma symptomatology;the medical teams find practical difficulties in determining the severity of asthma. Asthma is very commonly encounter in daily medical practice. This work objective is to design a system that helps medical teams in determining the severity of asthma. Its use could reduce time, effort and cost of categorizing asthma patient. Asthma severity diagnosis is currently done by an expert person, a doctor. The motivation is to release some burden from medical team by providing them a tool that determines the severity of asthma. One of the partial goals of the work is to model the asthma problem as a fuzzy problem, because many of the symptoms can be interpreted in a fuzzy way for the diagnosis. We model the problem using the RFuzzy framework, a Prolog-based tool for representing and reasoning with fuzzy information. The fact that several researches are being done to determine the level of asthma severity developed motivates us to use a fuzzy tool to try to automatize it. Our approach is not interesting because of our medical knowledge that we have taken from some medical collaborators. The value of our work is that we have found the way of representing in a simple way the knowledge of any asthma expert for classifying automatically the severity of an asthma patient just by collecting some simple numerical data relative to the patient symptoms. Any medical professional with a different criteria for asthma classification can easily modify our system according to his/her knowledge and obtain the corresponding results. This system was developed by the participation of experienced asthma physicians and followed the global initiative for asthma (GINA) guideline.
暂无评论