Introducing Multithreaded Programming: Posix Threads And Nvidia's Cuda

Gorde:
Xehetasun bibliografikoak
Argitaratua izan da:Association for Engineering Education - Engineering Library Division Papers (Jun 14, 2009), p. 14.806.1
Egile nagusia: Gribble, Christiaan
Argitaratua:
American Society for Engineering Education-ASEE
Gaiak:
Sarrera elektronikoa:Citation/Abstract
Full text outside of ProQuest
Etiketak: Etiketa erantsi
Etiketarik gabe, Izan zaitez lehena erregistro honi etiketa jartzen!

MARC

LEADER 00000nab a2200000uu 4500
001 2317955755
003 UK-CbPIL
035 |a 2317955755 
045 0 |b d20090614 
100 1 |a Gribble, Christiaan 
245 1 |a Introducing Multithreaded Programming: Posix Threads And Nvidia's Cuda 
260 |b American Society for Engineering Education-ASEE  |c Jun 14, 2009 
513 |a Conference Proceedings 
520 3 |a The current progression of commodity processing architectures exhibits a trend toward increasing parallelism, requiring that undergraduate students in a wide range of technical disciplines gain an understanding of problem solving in massively parallel environments. However, as a comprehensive college, we cannot currently afford to dedicate an entire semester- long course to the study of parallel computing. To combat this situation, we have integrated the key components of such a course into a 300-level course on modern operating systems. In this paper, we describe a parallel computing unit that is designed to dovetail with the discussion of process and thread management common to operating systems courses. We also describe a set of self-contained projects in which students explore two parallel programming models, POSIX Threads and NVIDIA’s Compute Unified Device Architecture, that enable parallel architectures to be utilized effectively. In our experience, this unit can be integrated with traditional operating systems topics quite readily, making parallel computing accessible to undergraduate students without requiring a full course dedicated to these increasingly important topics. 1 Introduction The many-core revolution currently underway in the design of processing architectures necessitates an early introduction to parallel computing. Commodity desktop systems with two cores per physical processor are now common, and the current processor roadmap for major manufacturers indicates a rapid progression toward systems with four, eight, or even 16 cores. At the same time, programmable graphics processing units (GPUs) have evolved from fixed- function pipelines implementing the z-buffer rendering algorithm to programmable, highly parallel machines that can be used to solve a wide range of problems. Together, these developments require that students possess an in-depth understanding of the hardware and software issues related to solving problems using many-core processing architectures. Grove City College is a comprehensive college, and as such, we in the Department of Computer Science must wrestle with the requisite staffing limitations. In particular, we cannot currently afford to offer an entire course dedicated to parallel computing—here defined to comprise a study of parallel processing architectures and the programming techniques necessary to utilize those architectures effectively—without sacrificing the integrity of our core computer science curriculum. This situation thus poses a dilemma: the current trajectory of processing architectures dictates an ever-increasing need for knowledge development in this area, but we are simply unable to dedicate a semester-length course to the study of these topics. 
653 |a College students 
653 |a Parallel processing 
653 |a Algorithms 
653 |a Curricula 
653 |a Parallel programming 
653 |a Computer science 
653 |a Computer architecture 
653 |a Graphics processing units 
653 |a Microprocessors 
653 |a Pipelining (computers) 
653 |a Problem solving 
653 |a Colleges & universities 
653 |a Students 
653 |a Undergraduate students 
653 |a Staffing 
653 |a Computer graphics 
653 |a Pipelines 
653 |a Commodities 
653 |a Morality 
653 |a Topics 
653 |a Machinery 
773 0 |t Association for Engineering Education - Engineering Library Division Papers  |g (Jun 14, 2009), p. 14.806.1 
786 0 |d ProQuest  |t Library Science Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/2317955755/abstract/embedded/6A8EOT78XXH2IG52?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u https://peer.asee.org/introducing-multithreaded-programming-posix-threads-and-nvidia-s-cuda