ITK/Release 4/GPU Acceleration/Tcon-2010-11-22: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
Line 36: Line 36:
**** NVIDIA supports the OpenCL standard (so, what is in OpenCL will be supported in NVidia cards)
**** NVIDIA supports the OpenCL standard (so, what is in OpenCL will be supported in NVidia cards)
**** Some third party vendors are doing CUDA for NVidia platforms and OpenCL for other platforms (splitting the effort)
**** Some third party vendors are doing CUDA for NVidia platforms and OpenCL for other platforms (splitting the effort)
**** Translation from CUDA to OpenCL is straight forward. (having a dual implementation may lower than twice the effort)
**** Translation from CUDA to OpenCL is straight forward. (having a dual implementation may be lower than twice the effort)

Revision as of 18:43, 22 November 2010

Attendees

  • Won Ki - Harvard University
  • Joe Stem - NVIDIA
  • Kimberly Powell - NVIDIA
  • Dennis Sessanna - NVIDIA
  • Luis Ibanez - Kitware Inc.

Topics

Overview

  • Quick summary of ITKv4 effort (Luis Ibanez)
  • Summary of ITK-GPU approach (Won Ki)

Questions

  • Level of abstraction ?
    • Joe suggests to look at OpenCV
      • Expose the interactions with the GPU
      • Most GPU programmers do things synchronously (so they unfortunately do too many data transfers, and don't get full benefit from the GPU).
  • Joe asked for typical Use Cases
    • We listed:
      • Radiology : 100Mb per image (512x512x200)
      • Microscopy : 10Gb
      • Video : 10Mb images, 30~100 frames per second.
  • CUDA vs OpenCL ?
    • Joe answers
    • OpenCL is better for asynchronous multi-GPU programming.
    • Reasons for using CUDA over OpenCL
      • Tedious API in OpenCL
      • Large collection of CUDA existing libraries
      • Performance optimization may be harder in OpenCL
    • Luis asked about vendor's commitment to OpenCL (for next 5 ~ 10 years)
      • Joe answers
        • NVIDIA supports the OpenCL standard (so, what is in OpenCL will be supported in NVidia cards)
        • Some third party vendors are doing CUDA for NVidia platforms and OpenCL for other platforms (splitting the effort)
        • Translation from CUDA to OpenCL is straight forward. (having a dual implementation may be lower than twice the effort)