Skip to content

A work in progress to implement the code from OpenCL in Action by Matthew Scarpino in pyopencl

License

Notifications You must be signed in to change notification settings

oysstu/pyopencl-in-action

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyopencl-in-action

A work in progress to implement the code from OpenCL in Action by Matthew Scarpino in pyopencl

Contents

  • Chapter 3: Host programming - data transfer and partitioning
    • Listing 3.2: Reading rectangular buffer data
    • Listing 3.3: Copying and mapping buffer objects (enqueue_map_buffer)
  • Chapter 4: Kernel programming - data types and device memory
    • Listing 4.2: Checking for the double data type (fp64)
    • Listing 4.3: Testing a device’s floating-point features
  • Chapter 5: Kernel programming - operators and functions
    • Listing 5.1: Operator usage (and vector usage)
    • Listing 5.2: Testing work-item/work-group IDs
    • Listing 5.3: Division and rounding
    • Listing 5.4: Rectilinear to polar coordinates
    • Listing 5.5: Multiply-and-add large numbers
    • Listing 5.6: Shuffling vector components
    • Listing 5.7: Selecting component content
  • Chapter 6: Image processing
    • Listing 6.1: Simple image processing
    • Listing 6.2: Image interpolation
  • Chapter 7: Events, profiling and synchronization
    • Listing 7.2: Host notification
    • Listing 7.3: Stalling commands with user events (host events)
    • Listing 7.6: Profiling data transfer
    • Listing 7.7: Profiling data partitioning
    • Listing 7.8: Testing atomic operations
    • Listing 7.9: Mutex-based synchronization
  • Chapter 10: General coding principles
    • Listing 10.1: Obtaining kernel/device information
    • Listing 10.2: Reduction using scalars
    • Listing 10.3: Reduction using vectors
    • Listing 10.4: Computing the final reduction (multiple passes over the data)
  • Chapter 11: Reduction and sorting
    • Listing 11.1: Implementing MapReduce in OpenCL (vectorized string searching)
    • Listing 11.2: An eight-element bitonic sort
    • Listing 11.3: A general bitonic sort
    • Listing 11.4: An eight-element radix sort
  • Chapter 14: Signal processing and the fast Fourier transform
    • Listing 14.1: The discrete Fourier transform (for real numbers)
    • Listing 14.2: The fast Fourier transform and inverse fourier transform

About

A work in progress to implement the code from OpenCL in Action by Matthew Scarpino in pyopencl

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages