568,015 research outputs found
Using eSkel to Implement the Multiple Baseline Stereo Application
We give an overview of the Edinburgh Skeleton Library eSkel, a structured parallel programming library which offers a range of skeletal parallel programming constructs to the C/MPI programmer. Then we illustrate the efficacy of such a high level approach through an application of multiple baseline stereo. We describe the application and show different ways to introduce parallelism using algorithmic skeletons. Some performance results will be reported
SkelCL - A Portable Skeleton Library for High-Level GPU Programming
While CUDA and OpenCL made general-purpose programming for Graphics Processing Units (GPU) popular, using these programming approaches remains complex and error-prone because they lack high-level abstractions. The especially challenging systems with multiple GPU are not addressed at all by these low-level programming models. We
propose SkelCL – a library providing so-called algorithmic skeletons that capture recurring patterns of parallel computation and communication, together with an abstract vector data type and constructs for specifying data distribution. We demonstrate that SkelCL greatly simplifies programming GPU systems. We report the competitive performance results of SkelCL using both a simple Mandelbrot set computation and an industrial-strength medical imaging application. Because the library is implemented using OpenCL, it is portable across GPU hardware of different vendors
CCL: a portable and tunable collective communication library for scalable parallel computers
A collective communication library for parallel computers includes frequently used operations such as broadcast, reduce, scatter, gather, concatenate, synchronize, and shift. Such a library provides users with a convenient programming interface, efficient communication operations, and the advantage of portability. A library of this nature, the Collective Communication Library (CCL), intended for the line of scalable parallel computer products by IBM, has been designed. CCL is part of the parallel application programming interface of the recently announced IBM 9076 Scalable POWERparallel System 1 (SP1). In this paper, we examine several issues related to the functionality, correctness, and performance of a portable collective communication library while focusing on three novel aspects in the design and implementation of CCL: 1) the introduction of process groups, 2) the definition of semantics that ensures correctness, and 3) the design of new and tunable algorithms based on a realistic point-to-point communication model
Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library
Application programming for GPUs (Graphics Processing Units) is complex and error-prone, because the popular approaches — CUDA and OpenCL — are intrinsically low-level and offer no special support for systems consisting of multiple GPUs. The SkelCL library presented in this paper
is built on top of the OpenCL standard and offers preimplemented recurring computation and communication patterns (skeletons) which greatly simplify programming for multiGPU systems. The library also provides an abstract vector data type and a high-level data (re)distribution mechanism to shield the programmer from the low-level data transfers between the system’s main memory and multiple GPUs. In this
paper, we focus on the specific support in SkelCL for systems with multiple GPUs and use a real-world application study from the area of medical imaging to demonstrate the reduced programming effort and competitive performance of SkelCL as compared to OpenCL and CUDA. Besides, we illustrate how SkelCL adapts to large-scale, distributed heterogeneous
systems in order to simplify their programming
Patron Driven Programs: Successes and Lessons Learned from Turning the Library Over to Students for a Week
While stress relief activities in academic libraries during finals weeks are nothing new, few libraries have experimented with turning the reins over to the students. Librarians at Valparaiso University initiated a two-round ideation and voting process for students to choose their own finals week programming. First, students were asked to generate ideas for the programs they wanted to see during finals week and to share them on whiteboards in the library lobby. Second, after the most prominent suggestions had been identified, students again used the whiteboards to vote for the top eight programs: four active and four passive.
Allowing students to propose their own programming resulted in many innovations and even some new campus partnerships. The suggestion to have yoga in the library resulted in a well-attended program organized in collaboration with the university’s Recreational Sports office. The idea to have a “Pillow/Blanket fort” materialized when the library turned a lounge into a do-it-yourself blanket fort space; students used sheets and cushions to create comfortable spaces for relaxation and studying. From a stress-relieving “group scream” to a makerspace with Playdough and button maker supplies, the week of student-driven activities pushed the library outside its normal programming routines into new territory.
The poster documents the process of planning and assessing this week of programming, including photographs of the ideation and voting stages, of the programs themselves, and of the students’ feedback
- …