{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":24,"n_cols":5,"rows_kept":24,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[3,2,3,3],[5,2,5,3],[6,2,6,3],[7,2,7,3],[8,2,8,3],[11,2,11,3],[12,2,12,3],[16,2,16,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910462174203321"]
[null,null,"Titolo",null,"Heterogeneous computing with OpenCL [[electronic resource] /] / Benedict R. Gaster ... [et al.]"]
[null,null,"Pubbl/distr/stampa",null,"Amsterdam ; ; Boston, : Elsevier/MK, c2013"]
[null,null,"ISBN",null,"1-283-71652-6"]
[{"$nulls":4},"0-12-405520-6"]
[null,null,"Edizione",null,"[Rev. OpenCL 1.2 ed.]"]
[null,null,"Descrizione fisica",null,"1 online resource (309 p.)"]
[null,null,"Disciplina",null,"005.2752"]
[null,null,"Soggetti",null,"OpenCL (Computer program language)"]
[{"$nulls":4},"Parallel programming (Computer science)"]
[{"$nulls":4},"Electronic books."]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,null,"Note generali","Description based upon print version of record."]
[null,null,null,"Nota di bibliografia","Includes bibliographical references and index."]
[null,null,"Nota di contenuto",null,"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"]
[{"$nulls":4},"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"]
[{"$nulls":4},"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 "]
[{"$nulls":4},"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"]
[{"$nulls":4},"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"]
[{"$nulls":4},"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"]
[{"$nulls":4},"Constant Memory"]
[null,null,null,"Sommario/riassunto","Heterogeneous Computing with OpenCL teaches OpenCL and parallel programming for complex systems that may include a variety of device architectures: multi-core CPUs, GPUs, and fully-integrated Accelerated Processing Units (APUs) such as AMD Fusion technology. Designed to work on multiple platforms and with wide industry support, OpenCL will help you more effectively program for a heterogeneous future.   Written by leaders in the parallel computing and OpenCL communities, this book will give you hands-on OpenCL experience to address a range of fundamental parallel algorithms. The"]