top

  Info

  • Utilizzare la checkbox di selezione a fianco di ciascun documento per attivare le funzionalità di stampa, invio email, download nei formati disponibili del (i) record.

  Info

  • Utilizzare questo link per rimuovere la selezione effettuata.
Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL / / by James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
Data Parallel C++ : Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL / / by James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, Xinmin Tian
Autore Reinders James
Edizione [1st ed. 2021.]
Pubbl/distr/stampa Springer Nature, 2021
Descrizione fisica 1 online resource (XXVI, 548 p. 338 illus., 280 illus. in color.)
Disciplina 005.13
Soggetto topico Heterogeneous computing
C++ (Computer program language)
OpenCL (Computer program language)
ISBN 1-4842-5574-7
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Chapter 1: Introduction -- Chapter 2: Where code executes -- Chapter 3: Data management and ordering the uses of data -- Chapter 4: Expressing parallelism -- Chapter 5: Error handling -- Chapter 6: USM in detail -- Chapter 7: Buffers in detail -- Chapter 8: DAG scheduling in detail -- Chapter 9: Local memory and work-group barriers -- Chapter 10: Defining kernels -- Chapter 11: Vectors -- Chapter 12: Device-specific extension mechanism -- Chapter 13: Programming for GPUs -- Chapter 14: Programming for CPUs -- Chapter 15: Programming for FPGAs -- Chapter 16: Address spaces and multi_ptr -- Chapter 17: Using libraries -- Chapter 18: Working with OpenCL -- Chapter 19: Memory model and atomics.
Record Nr. UNINA-9910424954703321
Reinders James  
Springer Nature, 2021
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Heterogeneous computing with OpenCL [[electronic resource] /] / Benedict R. Gaster ... [et al.]
Heterogeneous computing with OpenCL [[electronic resource] /] / Benedict R. Gaster ... [et al.]
Edizione [Rev. OpenCL 1.2 ed.]
Pubbl/distr/stampa Amsterdam ; ; Boston, : Elsevier/MK, c2013
Descrizione fisica 1 online resource (309 p.)
Disciplina 005.2752
Altri autori (Persone) GasterBenedict R
Soggetto topico OpenCL (Computer program language)
Parallel programming (Computer science)
Soggetto genere / forma Electronic books.
ISBN 1-283-71652-6
0-12-405520-6
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Front Cover; Heterogeneous Computing with OpenCL; Copyright; Contents; Foreword to the Revised OpenCL 1.2 Edition; Foreword to the First Edition; Preface; Our Heterogeneous World; OpenCL; This Text; Acknowledgments; About the Authors; Chapter 1: Introduction to Parallel Programming; Introduction; OpenCL; The Goals of This Book; Thinking Parallel; Concurrency and Parallel Programming Models; Threads and Shared Memory; Message-Passing Communication; Different Grains of Parallelism; Data Sharing and Synchronization; Structure; Reference; Further Reading and Relevant Websites
Chapter 2: Introduction to OpenCL Introduction; The OpenCL Standard; The OpenCL Specification; Kernels and the OpenCL Execution Model; Platform and Devices; Host-Device Interaction; The Execution Environment; Contexts; Command Queues; Events; Memory Objects; Buffers; Images; Flush and Finish; Creating an OpenCL Program Object; The OpenCL Kernel; Memory Model; Writing Kernels; Full Source Code Example for Vector Addition; Vector Addition with C++ Wrapper; Summary; Reference; Chapter 3: OpenCL Device Architectures; Introduction; Hardware trade-offs
Performance Increase by Frequency, and Its Limitations Superscalar Execution; VLIW; SIMD and Vector Processing; Hardware Multithreading; Multi-Core Architectures; Integration: Systems-on-Chip and the APU; Cache Hierarchies and Memory Systems; The architectural design space; CPU Designs; Low-Power CPUs; Mainstream Desktop CPUs; Intel Itanium 2; Niagara; GPU Architectures; Handheld GPUs; At the High End: AMD Radeon HD7970 and NVIDIA GTX580; APU and APU-Like Designs; Summary; References; Chapter 4: Basic OpenCL Examples; Introduction; Example Applications; Simple Matrix Multiplication Example
Step 1: Set Up Environment Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Return Results to Host; Image Rotation Example; Step 1: Set Up Environment; Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Read Result Back to Host; Image Convolution Example; Step 1: Create Image and Buffer Objects; Step 2: Write the Input Data; Step 3: Create Sampler Object; Step 4: Compile and Execute the Kernel; Step 5: Read the Result; The Convolution Kernel; Compiling OpenCL Host Applications
Summary Chapter 5: Understanding OpenCL's Concurrency and Execution Model; Introduction; Kernels, Work-Items, Workgroups, and the Execution Domain; OpenCL Synchronization: Kernels, Fences, and Barriers; Queuing and Global Synchronization; Memory Consistency in OpenCL; Events; Command Queues to Multiple Devices; Event Uses beyond Synchronization; User Events; Event Callbacks; Native Kernels; Command Barriers and Markers; The Host-Side Memory Model; Buffers; Manipulating Buffer Objects; Images; The Device-Side Memory Model; Device-Side Relaxed Consistency; Global Memory; Local Memory
Constant Memory
Record Nr. UNINA-9910462174203321
Amsterdam ; ; Boston, : Elsevier/MK, c2013
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Heterogeneous computing with OpenCL [[electronic resource] /] / Benedict R. Gaster ... [et al.]
Heterogeneous computing with OpenCL [[electronic resource] /] / Benedict R. Gaster ... [et al.]
Edizione [Rev. OpenCL 1.2 ed.]
Pubbl/distr/stampa Amsterdam ; ; Boston, : Elsevier/MK, c2013
Descrizione fisica 1 online resource (309 p.)
Disciplina 005.2752
Altri autori (Persone) GasterBenedict R
Soggetto topico OpenCL (Computer program language)
Parallel programming (Computer science)
ISBN 1-283-71652-6
0-12-405520-6
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Front Cover; Heterogeneous Computing with OpenCL; Copyright; Contents; Foreword to the Revised OpenCL 1.2 Edition; Foreword to the First Edition; Preface; Our Heterogeneous World; OpenCL; This Text; Acknowledgments; About the Authors; Chapter 1: Introduction to Parallel Programming; Introduction; OpenCL; The Goals of This Book; Thinking Parallel; Concurrency and Parallel Programming Models; Threads and Shared Memory; Message-Passing Communication; Different Grains of Parallelism; Data Sharing and Synchronization; Structure; Reference; Further Reading and Relevant Websites
Chapter 2: Introduction to OpenCL Introduction; The OpenCL Standard; The OpenCL Specification; Kernels and the OpenCL Execution Model; Platform and Devices; Host-Device Interaction; The Execution Environment; Contexts; Command Queues; Events; Memory Objects; Buffers; Images; Flush and Finish; Creating an OpenCL Program Object; The OpenCL Kernel; Memory Model; Writing Kernels; Full Source Code Example for Vector Addition; Vector Addition with C++ Wrapper; Summary; Reference; Chapter 3: OpenCL Device Architectures; Introduction; Hardware trade-offs
Performance Increase by Frequency, and Its Limitations Superscalar Execution; VLIW; SIMD and Vector Processing; Hardware Multithreading; Multi-Core Architectures; Integration: Systems-on-Chip and the APU; Cache Hierarchies and Memory Systems; The architectural design space; CPU Designs; Low-Power CPUs; Mainstream Desktop CPUs; Intel Itanium 2; Niagara; GPU Architectures; Handheld GPUs; At the High End: AMD Radeon HD7970 and NVIDIA GTX580; APU and APU-Like Designs; Summary; References; Chapter 4: Basic OpenCL Examples; Introduction; Example Applications; Simple Matrix Multiplication Example
Step 1: Set Up Environment Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Return Results to Host; Image Rotation Example; Step 1: Set Up Environment; Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Read Result Back to Host; Image Convolution Example; Step 1: Create Image and Buffer Objects; Step 2: Write the Input Data; Step 3: Create Sampler Object; Step 4: Compile and Execute the Kernel; Step 5: Read the Result; The Convolution Kernel; Compiling OpenCL Host Applications
Summary Chapter 5: Understanding OpenCL's Concurrency and Execution Model; Introduction; Kernels, Work-Items, Workgroups, and the Execution Domain; OpenCL Synchronization: Kernels, Fences, and Barriers; Queuing and Global Synchronization; Memory Consistency in OpenCL; Events; Command Queues to Multiple Devices; Event Uses beyond Synchronization; User Events; Event Callbacks; Native Kernels; Command Barriers and Markers; The Host-Side Memory Model; Buffers; Manipulating Buffer Objects; Images; The Device-Side Memory Model; Device-Side Relaxed Consistency; Global Memory; Local Memory
Constant Memory
Record Nr. UNINA-9910786356103321
Amsterdam ; ; Boston, : Elsevier/MK, c2013
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Heterogeneous computing with OpenCL / / Benedict R. Gaster ... [et al.]
Heterogeneous computing with OpenCL / / Benedict R. Gaster ... [et al.]
Edizione [Rev. OpenCL 1.2 ed.]
Pubbl/distr/stampa Amsterdam ; ; Boston, : Elsevier/MK, c2013
Descrizione fisica 1 online resource (309 p.)
Disciplina 005.2752
Altri autori (Persone) GasterBenedict R
Soggetto topico OpenCL (Computer program language)
Parallel programming (Computer science)
ISBN 1-283-71652-6
0-12-405520-6
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Front Cover; Heterogeneous Computing with OpenCL; Copyright; Contents; Foreword to the Revised OpenCL 1.2 Edition; Foreword to the First Edition; Preface; Our Heterogeneous World; OpenCL; This Text; Acknowledgments; About the Authors; Chapter 1: Introduction to Parallel Programming; Introduction; OpenCL; The Goals of This Book; Thinking Parallel; Concurrency and Parallel Programming Models; Threads and Shared Memory; Message-Passing Communication; Different Grains of Parallelism; Data Sharing and Synchronization; Structure; Reference; Further Reading and Relevant Websites
Chapter 2: Introduction to OpenCL Introduction; The OpenCL Standard; The OpenCL Specification; Kernels and the OpenCL Execution Model; Platform and Devices; Host-Device Interaction; The Execution Environment; Contexts; Command Queues; Events; Memory Objects; Buffers; Images; Flush and Finish; Creating an OpenCL Program Object; The OpenCL Kernel; Memory Model; Writing Kernels; Full Source Code Example for Vector Addition; Vector Addition with C++ Wrapper; Summary; Reference; Chapter 3: OpenCL Device Architectures; Introduction; Hardware trade-offs
Performance Increase by Frequency, and Its Limitations Superscalar Execution; VLIW; SIMD and Vector Processing; Hardware Multithreading; Multi-Core Architectures; Integration: Systems-on-Chip and the APU; Cache Hierarchies and Memory Systems; The architectural design space; CPU Designs; Low-Power CPUs; Mainstream Desktop CPUs; Intel Itanium 2; Niagara; GPU Architectures; Handheld GPUs; At the High End: AMD Radeon HD7970 and NVIDIA GTX580; APU and APU-Like Designs; Summary; References; Chapter 4: Basic OpenCL Examples; Introduction; Example Applications; Simple Matrix Multiplication Example
Step 1: Set Up Environment Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Return Results to Host; Image Rotation Example; Step 1: Set Up Environment; Step 2: Declare Buffers and Move Data; Step 3: Run time Kernel Compilation; Step 4: Run the Program; Step 5: Read Result Back to Host; Image Convolution Example; Step 1: Create Image and Buffer Objects; Step 2: Write the Input Data; Step 3: Create Sampler Object; Step 4: Compile and Execute the Kernel; Step 5: Read the Result; The Convolution Kernel; Compiling OpenCL Host Applications
Summary Chapter 5: Understanding OpenCL's Concurrency and Execution Model; Introduction; Kernels, Work-Items, Workgroups, and the Execution Domain; OpenCL Synchronization: Kernels, Fences, and Barriers; Queuing and Global Synchronization; Memory Consistency in OpenCL; Events; Command Queues to Multiple Devices; Event Uses beyond Synchronization; User Events; Event Callbacks; Native Kernels; Command Barriers and Markers; The Host-Side Memory Model; Buffers; Manipulating Buffer Objects; Images; The Device-Side Memory Model; Device-Side Relaxed Consistency; Global Memory; Local Memory
Constant Memory
Record Nr. UNINA-9910828339503321
Amsterdam ; ; Boston, : Elsevier/MK, c2013
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Heterogeneous computing with OpenCL 2.0 / / David Kaeli [and three others]
Heterogeneous computing with OpenCL 2.0 / / David Kaeli [and three others]
Edizione [Third edition.]
Pubbl/distr/stampa Amsterdam, [Netherlands] : , : Morgan Kaufman, , 2015
Descrizione fisica 1 online resource (330 p.)
Disciplina 005.275
Soggetto topico Parallel programming (Computer science)
OpenCL (Computer program language)
ISBN 0-12-801649-3
0-12-801414-8
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Front Cover; Heterogeneous Computing with OpenCL 2.0; Copyright; Contents; List of Figures; List of Tables; Foreword; Acknowledgments; Chapter 1: Introduction; 1.1 Introduction to Heterogeneous Computing; 1.2 The Goals of This Book; 1.3 Thinking Parallel; 1.4 Concurrency and Parallel Programming Models; 1.5 Threads and Shared Memory; 1.6 Message-Passing Communication; 1.7 Different Grains of Parallelism; 1.7.1 Data Sharing and Synchronization; 1.7.2 Shared Virtual Memory; 1.8 Heterogeneous Computing with OpenCL; 1.9 Book Structure; References; Chapter 2: Device architectures; 2.1 Introduction
2.2 Hardware Trade-offs2.2.1 Performance Increase with Frequency, and its Limitations; 2.2.2 Superscalar Execution; 2.2.3 Very Long Instruction Word; 2.2.4 SIMD and Vector Processing; 2.2.5 Hardware Multithreading; 2.2.6 Multicore Architectures; 2.2.7 Integration: Systems-on-Chip and the APU; 2.2.8 Cache Hierarchies and Memory Systems; 2.3 The Architectural Design Space; 2.3.1 CPU Designs; Low-power CPUs; Mainstream desktop CPUs; Server CPUs; 2.3.2 GPU Architectures; Handheld GPUs; At the high end: AMD Radeon R9 290X and NVIDIA GeForce GTX 780; 2.3.3 APU and APU-like Designs; 2.4 Summary
ReferencesChapter 3: Introduction to OpenCL; 3.1 Introduction; 3.1.1 The OpenCL Standard; 3.1.2 The OpenCL Specification; 3.2 The OpenCL Platform Model; 3.2.1 Platforms and Devices; 3.3 The OpenCL Execution Model; 3.3.1 Contexts; 3.3.2 Command-Queues; 3.3.3 Events; 3.3.4 Device-Side Enqueuing; 3.4 Kernels and the OpenCL Programming Model; 3.4.1 Compilation and Argument Handling; 3.4.2 Starting Kernel Execution on a Device; 3.5 OpenCL Memory Model; 3.5.1 Memory Objects; Buffers; Images; Pipes; 3.5.2 Data Transfer Commands; 3.5.3 Memory Regions; 3.5.4 Generic Address Space
3.6 The OpenCL Runtime with an Example3.6.1 Complete Vector Addition Listing; 3.7 Vector Addition Using an OpenCL C++ Wrapper; 3.8 OpenCL for CUDA Programmers; 3.9 Summary; Reference; Chapter 4: Examples; 4.1 OpenCL Examples; 4.2 Histogram; 4.3 Image Rotation; 4.4 Image Convolution; 4.5 Producer-Consumer; 4.6 Utility Functions; 4.6.1 Reporting Compilation Errors; 4.6.2 Creating a Program String; 4.7 Summary; Chapter 5: OpenCL runtime and concurrency model; 5.1 Commands and the Queuing Model; 5.1.1 Blocking Memory Operations; 5.1.2 Events; 5.1.3 Command Barriers and Markers
5.1.4 Event Callbacks5.1.5 Profiling Using Events; 5.1.6 User Events; 5.1.7 Out-of-Order Command-Queues; 5.2 Multiple Command-Queues; 5.3 The Kernel Execution Domain: Work-Items, Work-Groups, and NDRanges; 5.3.1 Synchronization; 5.3.2 Work-Group Barriers; 5.3.3 Built-In Work-Group Functions; 5.3.4 Predicate Evaluation Functions; 5.3.5 Broadcast Functions; 5.3.6 Parallel Primitive Functions; 5.4 Native and Built-In Kernels; 5.4.1 Native kernels; 5.4.2 Built-in kernels; 5.5 Device-Side Queuing; 5.5.1 Creating a Device-Side Queue; 5.5.2 Enqueuing Device-Side Kernels; Dynamic local memory
Enforcing dependencies using events
Record Nr. UNINA-9910797128303321
Amsterdam, [Netherlands] : , : Morgan Kaufman, , 2015
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
Heterogeneous computing with OpenCL 2.0 / / David Kaeli [and three others]
Heterogeneous computing with OpenCL 2.0 / / David Kaeli [and three others]
Edizione [Third edition.]
Pubbl/distr/stampa Amsterdam, [Netherlands] : , : Morgan Kaufman, , 2015
Descrizione fisica 1 online resource (330 p.)
Disciplina 005.275
Soggetto topico Parallel programming (Computer science)
OpenCL (Computer program language)
ISBN 0-12-801649-3
0-12-801414-8
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Front Cover; Heterogeneous Computing with OpenCL 2.0; Copyright; Contents; List of Figures; List of Tables; Foreword; Acknowledgments; Chapter 1: Introduction; 1.1 Introduction to Heterogeneous Computing; 1.2 The Goals of This Book; 1.3 Thinking Parallel; 1.4 Concurrency and Parallel Programming Models; 1.5 Threads and Shared Memory; 1.6 Message-Passing Communication; 1.7 Different Grains of Parallelism; 1.7.1 Data Sharing and Synchronization; 1.7.2 Shared Virtual Memory; 1.8 Heterogeneous Computing with OpenCL; 1.9 Book Structure; References; Chapter 2: Device architectures; 2.1 Introduction
2.2 Hardware Trade-offs2.2.1 Performance Increase with Frequency, and its Limitations; 2.2.2 Superscalar Execution; 2.2.3 Very Long Instruction Word; 2.2.4 SIMD and Vector Processing; 2.2.5 Hardware Multithreading; 2.2.6 Multicore Architectures; 2.2.7 Integration: Systems-on-Chip and the APU; 2.2.8 Cache Hierarchies and Memory Systems; 2.3 The Architectural Design Space; 2.3.1 CPU Designs; Low-power CPUs; Mainstream desktop CPUs; Server CPUs; 2.3.2 GPU Architectures; Handheld GPUs; At the high end: AMD Radeon R9 290X and NVIDIA GeForce GTX 780; 2.3.3 APU and APU-like Designs; 2.4 Summary
ReferencesChapter 3: Introduction to OpenCL; 3.1 Introduction; 3.1.1 The OpenCL Standard; 3.1.2 The OpenCL Specification; 3.2 The OpenCL Platform Model; 3.2.1 Platforms and Devices; 3.3 The OpenCL Execution Model; 3.3.1 Contexts; 3.3.2 Command-Queues; 3.3.3 Events; 3.3.4 Device-Side Enqueuing; 3.4 Kernels and the OpenCL Programming Model; 3.4.1 Compilation and Argument Handling; 3.4.2 Starting Kernel Execution on a Device; 3.5 OpenCL Memory Model; 3.5.1 Memory Objects; Buffers; Images; Pipes; 3.5.2 Data Transfer Commands; 3.5.3 Memory Regions; 3.5.4 Generic Address Space
3.6 The OpenCL Runtime with an Example3.6.1 Complete Vector Addition Listing; 3.7 Vector Addition Using an OpenCL C++ Wrapper; 3.8 OpenCL for CUDA Programmers; 3.9 Summary; Reference; Chapter 4: Examples; 4.1 OpenCL Examples; 4.2 Histogram; 4.3 Image Rotation; 4.4 Image Convolution; 4.5 Producer-Consumer; 4.6 Utility Functions; 4.6.1 Reporting Compilation Errors; 4.6.2 Creating a Program String; 4.7 Summary; Chapter 5: OpenCL runtime and concurrency model; 5.1 Commands and the Queuing Model; 5.1.1 Blocking Memory Operations; 5.1.2 Events; 5.1.3 Command Barriers and Markers
5.1.4 Event Callbacks5.1.5 Profiling Using Events; 5.1.6 User Events; 5.1.7 Out-of-Order Command-Queues; 5.2 Multiple Command-Queues; 5.3 The Kernel Execution Domain: Work-Items, Work-Groups, and NDRanges; 5.3.1 Synchronization; 5.3.2 Work-Group Barriers; 5.3.3 Built-In Work-Group Functions; 5.3.4 Predicate Evaluation Functions; 5.3.5 Broadcast Functions; 5.3.6 Parallel Primitive Functions; 5.4 Native and Built-In Kernels; 5.4.1 Native kernels; 5.4.2 Built-in kernels; 5.5 Device-Side Queuing; 5.5.1 Creating a Device-Side Queue; 5.5.2 Enqueuing Device-Side Kernels; Dynamic local memory
Enforcing dependencies using events
Record Nr. UNINA-9910810195503321
Amsterdam, [Netherlands] : , : Morgan Kaufman, , 2015
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
International Workshop on OpenCL / / Association for Computing Machinery
International Workshop on OpenCL / / Association for Computing Machinery
Pubbl/distr/stampa New York, New York : , : Association for Computing Machinery, , 2021
Descrizione fisica 1 online resource (123 pages) : illustrations
Disciplina 005.275
Soggetto topico OpenCL (Computer program language)
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Record Nr. UNINA-9910510453803321
New York, New York : , : Association for Computing Machinery, , 2021
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
IWOCL '20 : proceedings of the International Workshop on OpenCL / / Association for Computing Machinery
IWOCL '20 : proceedings of the International Workshop on OpenCL / / Association for Computing Machinery
Pubbl/distr/stampa New York, New York : , : Association for Computing Machinery, , 2020
Descrizione fisica 1 online resource (104 pages) : illustrations
Disciplina 005.275
Soggetto topico OpenCL (Computer program language)
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Record Nr. UNINA-9910412326003321
New York, New York : , : Association for Computing Machinery, , 2020
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
OpenCL programming by example / / Ravishekhar Banger, Koushik Bhattacharyya
OpenCL programming by example / / Ravishekhar Banger, Koushik Bhattacharyya
Autore Banger Ravishekhar
Edizione [1st edition]
Pubbl/distr/stampa Birmingham : , : Packt Publishing, , 2013
Descrizione fisica 1 online resource (304 p.)
Disciplina 005.2/75
Altri autori (Persone) BhattacharyyaKoushik
Collana Community experience distilled
Soggetto topico OpenCL (Computer program language)
Paraelle programming (Computer science)
Soggetto genere / forma Electronic books.
ISBN 1-84969-235-1
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Cover; Copyright; Credits; About the Authors; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Hello OpenCL; Advances in computer architecture; Different parallel programming techniques; OpenMP; MPI; OpenACC; CUDA; CUDA or OpenCL?; Renderscripts; Hybrid parallel computing model; Introduction to OpenCL; Hardware and software vendors; Advanced Micro Devices, Inc. (AMD); NVIDIA®; Intel®; ARM MaliTM GPUs; OpenCL components; An example OpenCL program; Basic software requirements; Windows; Linux; Installing and setting up an OpenCL compliant computer; Installation steps
Installing OpenCL on a Linux system with an AMD graphics card Installing OpenCL on a Linux system with an NVIDIA graphics card; Installing OpenCL on a Windows system with an AMD graphics card; Installing OpenCL on a Windows system with an NVIDIA graphics card; Apple OSX; Multiple installations; Implement the SAXPY routine in OpenCL; Summary; References; Chapter 2: OpenCL Architecture; Platform model; AMD A10 5800K APUs; AMD RadeonTM HD 7870 Graphics Processor; NVIDIA® GeForce® GTC 680 GPU; Intel® IVY bridge; Platform versions; Query Platforms; Query devices; Execution model; NDRange
OpenCL context OpenCL command queue; Memory model; Global memory; Constant memory; Local memory; Private memory; OpenCL ICD; What is an OpenCL ICD?; Application scaling; Summary; Chapter 3: OpenCL Buffer Objects; Memory Objects; Creating Subbuffer objects; Histogram calculation; Algorithm; OpenCL Kernel Code; The Host Code; Reading and writing buffers; Blocking_read and Blocking_write; Rectangular or cuboidal reads; Copying buffers; Mapping buffer objects; Querying buffer objects; Undefined behavior of the cl_mem objects; Summary; Chapter 4: OpenCL Images; Creating images
Image format descriptor cl_image_format Image details descriptor cl_image_desc; Passing image buffers to kernels; Samplers; Reading and writing buffers; Copying and filling images; Mapping image objects; Querying image objects; Image histogram computation; Summary; Chapter 5: OpenCL Program and Kernel Objects; Creating program objects; Creating and building program objects; OpenCL program building options; Querying program objects; Creating binary files; Offline and online compilation; SAXPY using the binary file; SPIR - Standard Portable Intermediate Representation; Creating kernel objects
Setting kernel arguments Executing the kernels; Querying kernel objects; Querying kernel argument; Releasing program and kernel objects; Built-in kernels; Summary; Chapter 6: Events and Synchronization; OpenCL events and monitoring of these events; OpenCL event synchronization models; No synchronization needed; Single device in-order usage; Synchronization needed; Single device and out-of-order queue; Multiple devices and different OpenCL contexts; Multiple devices and single OpenCL context; Coarse grained synchronization; Event based or fine grained synchronization
Getting information about cl_event
Record Nr. UNINA-9910453431503321
Banger Ravishekhar  
Birmingham : , : Packt Publishing, , 2013
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui
OpenCL programming by example / / Ravishekhar Banger, Koushik Bhattacharyya
OpenCL programming by example / / Ravishekhar Banger, Koushik Bhattacharyya
Autore Banger Ravishekhar
Edizione [1st edition]
Pubbl/distr/stampa Birmingham : , : Packt Publishing, , 2013
Descrizione fisica 1 online resource (304 p.)
Disciplina 005.2/75
Altri autori (Persone) BhattacharyyaKoushik
Collana Community experience distilled
Soggetto topico OpenCL (Computer program language)
Paraelle programming (Computer science)
ISBN 1-84969-235-1
Formato Materiale a stampa
Livello bibliografico Monografia
Lingua di pubblicazione eng
Nota di contenuto Cover; Copyright; Credits; About the Authors; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Hello OpenCL; Advances in computer architecture; Different parallel programming techniques; OpenMP; MPI; OpenACC; CUDA; CUDA or OpenCL?; Renderscripts; Hybrid parallel computing model; Introduction to OpenCL; Hardware and software vendors; Advanced Micro Devices, Inc. (AMD); NVIDIA®; Intel®; ARM MaliTM GPUs; OpenCL components; An example OpenCL program; Basic software requirements; Windows; Linux; Installing and setting up an OpenCL compliant computer; Installation steps
Installing OpenCL on a Linux system with an AMD graphics card Installing OpenCL on a Linux system with an NVIDIA graphics card; Installing OpenCL on a Windows system with an AMD graphics card; Installing OpenCL on a Windows system with an NVIDIA graphics card; Apple OSX; Multiple installations; Implement the SAXPY routine in OpenCL; Summary; References; Chapter 2: OpenCL Architecture; Platform model; AMD A10 5800K APUs; AMD RadeonTM HD 7870 Graphics Processor; NVIDIA® GeForce® GTC 680 GPU; Intel® IVY bridge; Platform versions; Query Platforms; Query devices; Execution model; NDRange
OpenCL context OpenCL command queue; Memory model; Global memory; Constant memory; Local memory; Private memory; OpenCL ICD; What is an OpenCL ICD?; Application scaling; Summary; Chapter 3: OpenCL Buffer Objects; Memory Objects; Creating Subbuffer objects; Histogram calculation; Algorithm; OpenCL Kernel Code; The Host Code; Reading and writing buffers; Blocking_read and Blocking_write; Rectangular or cuboidal reads; Copying buffers; Mapping buffer objects; Querying buffer objects; Undefined behavior of the cl_mem objects; Summary; Chapter 4: OpenCL Images; Creating images
Image format descriptor cl_image_format Image details descriptor cl_image_desc; Passing image buffers to kernels; Samplers; Reading and writing buffers; Copying and filling images; Mapping image objects; Querying image objects; Image histogram computation; Summary; Chapter 5: OpenCL Program and Kernel Objects; Creating program objects; Creating and building program objects; OpenCL program building options; Querying program objects; Creating binary files; Offline and online compilation; SAXPY using the binary file; SPIR - Standard Portable Intermediate Representation; Creating kernel objects
Setting kernel arguments Executing the kernels; Querying kernel objects; Querying kernel argument; Releasing program and kernel objects; Built-in kernels; Summary; Chapter 6: Events and Synchronization; OpenCL events and monitoring of these events; OpenCL event synchronization models; No synchronization needed; Single device in-order usage; Synchronization needed; Single device and out-of-order queue; Multiple devices and different OpenCL contexts; Multiple devices and single OpenCL context; Coarse grained synchronization; Event based or fine grained synchronization
Getting information about cl_event
Record Nr. UNINA-9910790726103321
Banger Ravishekhar  
Birmingham : , : Packt Publishing, , 2013
Materiale a stampa
Lo trovi qui: Univ. Federico II
Opac: Controlla la disponibilità qui