11
Astrophysical Data Processing Theodore Kisner, LBNL Heterogeneous Many-Core Systems on Thursday, December 16, 2010

on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

  • Upload
    ngonhan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

Astrophysical Data Processing

Theodore Kisner, LBNL

Heterogeneous Many-Core Systems

on

Thursday, December 16, 2010

Page 2: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Astrophysical Data Processing

Data Acquisition

Data Manipulation / Calculations

Data Indexing / Storage

Data Selection / Retrieval

High Level Results

Data Manipulation / Calculations

Thursday, December 16, 2010

Page 3: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Astrophysical Data Processing

Data Acquisition

Data Manipulation / Calculations

Data Indexing / Storage

Data Selection / Retrieval

High Level Results

Data Manipulation / Calculations

Thursday, December 16, 2010

Page 4: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Astrophysical Data Processing

Image Operations: linear combination, filtering (2D FFT), sampling

Timestream Operations: linear combination, filtering (1D FFT)

Spherical Geometry: projection, pixelization, spherical harmonic transforms

Monte Carlo Error Estimation: parallel random number generation

Data Manipulation / Calculations

Thursday, December 16, 2010

Page 5: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Why Many-Core Systems?

(See Kathy’s Talk)

Electrical power is a finite resource - must increase “Flops / Watt”

Traditional CPUs: optimize serial performance, increase clock speed, instruction-level parallelism, hardware cache management.

The New Reality: use more transistors for calculation, pack them into many simpler cores, clock speeds ~1GHz or less, cache partially managed by software driver / application.

Thursday, December 16, 2010

Page 6: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Many-Core Systems Today

Most systems are heterogeneous- some traditional CPU cores for running OS, serial bottlenecks, coordination of lightweight cores, etc

Practical performance is constrained by data movement across multi-level memory hierarchy

Examples- multi-core CPU, plus one or more cards:

Thursday, December 16, 2010

Page 7: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Goal : Scale Relevant Calculations

Would like a cross-platform library of tools that “just works” for the operations important to astrophysical data processing

Compilers are not magical, and there are no existing “mid-level” libraries that are cross-platform...

What tools do exist?

Name Notes Open Source?

NVIDIA CuFFT, CuBLAS Cuda Only; subset of needed tools NOPGI Accelerator Cuda Only; OpenMP style syntax NO

AccelerEyes LibJacket Cuda Only; Wide range of tools! NOBrownDeer LibStdCL OpenCL helper tools GPLv3GPU Systems Libra Cuda/OpenCL; range of math ops NO

Intel MKL Intel only; math ops NO

Thursday, December 16, 2010

Page 8: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

One Path Forward - Middle Layer Tools

Use OpenCL for cross-platform support

Build a collection of Kernels for common data processing operations

Do simple tuning based on detected hardware properties + simple parameter space search

Provide a high-level interface to access these tools

Work has already begun...

Thursday, December 16, 2010

Page 9: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Example: Pixelization of Detector Pointing

Traditionally done with the HEALPix software library

Instead, implement as an OpenCL Kernel: contains one conditional, cos, sqrt, etc

Thursday, December 16, 2010

Page 10: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Example: Pixelization of Detector Pointing

Serial

OpenMP

OpenCL - CPU

OpenCL - GPU

0 3.75 7.50 11.25 15.00

Timing Comparison of OpenCL HEALPix Angle to Pixel Kernel

SecondsOS X, Core i7 Quad, ATI Radeon 4850Linux, Athlon X4 Quad, NVIDIA GTX 285Linux, 2 x Intel Xeon Quad, NVIDIA Tesla 2050 (Fermi)

Same Kernel !!

Thursday, December 16, 2010

Page 11: on Heterogeneous Many-Core Systemshipacc.ucsc.edu/Lecture Slides/tskisner_HIPACC_2010.pdf · T. Kisner, LBNL - HiPACC 12/16/2010 Conclusions OpenCL is a promising foundation for astrophysical

T. Kisner, LBNL - HiPACC 12/16/2010

Conclusions

OpenCL is a promising foundation for astrophysical calculations on heterogeneous many-core systems

For real-world use, we need high-level tools

Constructing a portable library of compute kernels for astrophysics seems both a tractable and useful path into the many-core future

Much work to be done!

Thursday, December 16, 2010