Teaching and training for high-performance computing in our college could not catch up with HPC research level. Thus, it is imperative to promote teaching reform on parallel computing course in our college. Our first ...
详细信息
The efficient utilization of the available resources in modern parallel computing systems requires advanced parallel programming expertise. However, parallel programming is more difficult than sequential programming. ...
详细信息
The efficient utilization of the available resources in modern parallel computing systems requires advanced parallel programming expertise. However, parallel programming is more difficult than sequential programming. To alleviate the difficulties of parallel programming, high-level programming frameworks, such as OpenMP, have been proposed. Yet, there is evidence that novice parallel programmers make common mistakes that may lead to performance degradation or unexpected program behavior. In this paper, we present our cognitive parallel programming assistant (PAPA) that aims at educating and assisting novice parallel programmers to avoid common OpenMP mistakes. PAPA combines different IBM Watson services to provide a dialog-based interaction (through text and voice) for programmers. We use the Watson Conversation service to implement the dialog-based interaction, and the Speech-to-Text and Text-to-Speech services to enable the voice interaction. The Watson Natural Language Understanding and WordsAPl Synonyms services are used to train PAPA with OpenMP-related publications. We evaluate our approach using a user experience questionnaire with a number of novice parallel programmers at Linnaeus University. (C) 2018 Elsevier B.V. All rights reserved.
In addition to large-scale computers, multicore processors have taken a significant part in all kinds of devices, from personal computers to cell phones. Although programming techniques for parallel systems exist for ...
详细信息
ISBN:
(纸本)9789532330991
In addition to large-scale computers, multicore processors have taken a significant part in all kinds of devices, from personal computers to cell phones. Although programming techniques for parallel systems exist for a while, the development of applications that can appropriately utilize multicores is still challenging in many aspects, especially for full exploitation of the computational resources. Additionally, another challenge is the efficient and easy programming of heterogeneous systems for the complete exploitation of silicon resources. Solutions to making parallel programming more developer-friendly are various programming models that abstract parallelism and concurrency. Implementations of those models need to extend even to lower layers of software parallelism and hardware parallelism as well. This paper gives an overview of parallel architectures and trending programming models for such processing units and systems. It also presents challenges to scalability and portability in parallel systems and presents up to date trends in heterogeneous systems that heavily exploit parallelism.
Various computer methods are sourced in parallel programming. Advances in methods and techniques with their appropriate usage are beneficial for multimedia applications. parallelization can significantly decrease the ...
详细信息
The paper presents the experiences of the design and development of an industrial measurement system. The architecture of the system is parallel and highly scalable. As studies show parallel systems are more error pro...
详细信息
ISBN:
(数字)9781510622043
ISBN:
(纸本)9781510622043
The paper presents the experiences of the design and development of an industrial measurement system. The architecture of the system is parallel and highly scalable. As studies show parallel systems are more error prone than sequential ones. Errors may be in synchronization or data sharing and can sometimes hinder processing within time limits acceptable for a measurement system. So, the performance problems may also be dependability ones. In this paper, the problems met during the implementation of a measurement system, as well as theirs solutions, are presented. One of them was unpredictable behavior of garbage collector which decreased system performance. Some deadlock situations have also been identified, which may occur if the measurement device (i.e. hardware) would experience a specific failure mode. It is shown, how substantially performance increase and effective and scalable code was achieved.
We employ probabilistic causality analysis to study the performance data of 301 students from the upper-level undergraduate parallel programming class at the University of Central Florida. To our surprise, we discover...
详细信息
ISBN:
(纸本)9781538655559
We employ probabilistic causality analysis to study the performance data of 301 students from the upper-level undergraduate parallel programming class at the University of Central Florida. To our surprise, we discover that good performance in our lower-level undergraduate programming CS-1 and CS-II classes is not a significant causal factor that contributed to good performance in our parallel programming class. On the other hand, good performance in systems classes like Operating Systems, Information Security, Computer Architecture, Object Oriented Software and Systems Software coupled with good performance in theoretical classes like Introduction to Discrete Structures, Artificial Intelligence and Discrete Structures-II are strong indicators of good performance in our upper-level undergraduate parallel programming class. We believe that such causal analysis may be useful in identifying whether parallel and distributed computing concepts have effectively penetrated the lower-level computer science classes at an institution.
This talk will present a design space based on these dimensions using concrete examples of several systems/frameworks including Gradescope, Web-CAT, the JUnit testing framework, diff-based systems, and a system we hav...
详细信息
ISBN:
(数字)9781728148946
ISBN:
(纸本)9781728148953
This talk will present a design space based on these dimensions using concrete examples of several systems/frameworks including Gradescope, Web-CAT, the JUnit testing framework, diff-based systems, and a system we have developed at UNC. It will point out future directions that can be pursued to develop a software framework for assessing concurrent programs written in multiple programming languages that improves the productivity and learning, respectively, of trainers and trainees.
The importance of high-performance computing (HPC) motivates an increasing number of students to study parallel programming. However, a major obstacle for students to learn parallel programming is the lack of large-sc...
详细信息
ISBN:
(纸本)9781538665220
The importance of high-performance computing (HPC) motivates an increasing number of students to study parallel programming. However, a major obstacle for students to learn parallel programming is the lack of large-scale computing resources and feedback for their programs. In this paper, we design and implement an online HPC educational programming system, which provides free computing resources for students and the support of multiple HPC programming languages. The students can easily write HPC programs on our platform and submit to the Tianhe-2 supercomputer for execution. The execution results will be returned and displayed on the front-end web browser of users. In addition, our system also supports code evaluation and feedback debugging via integrating mpiP and TAU into our system kernel. The evaluation results and feedback allow students to look into the execution details of their programs and further optimize their submitted programs.
Massively parallel systems with millions of core are going to be the systems of the future. These systems in a cloud infrastructure are likely to be heterogeneous in nature and based on a variety of CPU architectures ...
详细信息
ISBN:
(数字)9781728148946
ISBN:
(纸本)9781728148953
Massively parallel systems with millions of core are going to be the systems of the future. These systems in a cloud infrastructure are likely to be heterogeneous in nature and based on a variety of CPU architectures and accelerators. Engineering such massively parallel systems, particularly keeping in view the power envelope, is itself is a great challenge. But programming such massively parallel systems that can scale to petascale and exascale is going to be an enormous challenge. Hence there is no alternative to developing expert manpower which develop scalable algorithms and codes which can harness the compute power offered by petascale and exascale supercomputing systems. Hence it is important to introduce parallel programing aspects to prospective programmers at a young age, so that by the time they join the industry, they are equipped with required parallel programming mind-set and software development skills. This talk will discuss the current state of HPC education and will suggest future directions for riding on the wave and leveraging on the tremendous computation power that will be required for the emerging applications.
parallel programming has rapidly moved from a special-purpose technique to standard practice. This newfound ubiquity needs to be matched by improved parallel programming education. As parallel programming involves hig...
详细信息
ISBN:
(纸本)9781538655559
parallel programming has rapidly moved from a special-purpose technique to standard practice. This newfound ubiquity needs to be matched by improved parallel programming education. As parallel programming involves higher level concepts, students tend to struggle with turning the abstract information into concrete mental models. Analogies are known to aid in this knowledge transfer, by providing an existing schema as the basis for the formation of a new schema. Additionally, technology has been proven to increase motivation and engagement in students, which ultimately improves learning. Combining these ideas, this paper presents several contributions that enhance aspects of parallel programming education. These contributions include a set of collaborative learning activities to target fundamental scheduling concepts, a detailed analogy to assist in the understanding of the scheduling concepts, and an augmented reality application to facilitate the collaborative learning activity by bringing the analogy to life.
暂无评论