building an opencl ide - eclipsecon

13
Building an OpenCL IDE Jeong-Si Kim

Upload: others

Post on 03-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Building an OpenCL IDE

Jeong-Si Kim

Microprocessor trends

l Heterogeneous many-core processors

2

OpenCL

l Programming framework for heterogeneous compute resources

l The first open, royal-free standard developed by the Khronos group

l A uniform parallel programming environment for software developers

to write efficient using a divers mix of multicore processors

3

What to do with What to do with OpenCLOpenCL

l Easily speed up software performance

l Application area : Geographic Information Systems, Volumetric

Rendering, Physics simulation(particle system, N-Body) , Image

Processing

l OpenCL inside

4

l Easily speed up software performance

l Application area : Geographic Information Systems, Volumetric

Rendering, Physics simulation(particle system, N-Body) , Image

Processing

l OpenCL inside

History and Current of History and Current of OpenCLOpenCL

l History : young technology

l Current : still challenge technology

l Requires expert technical knowledge of GPU/CPU and parallel

programming skill

l Few documents and examples

5

l History : young technology

l Current : still challenge technology

l Requires expert technical knowledge of GPU/CPU and parallel

programming skill

l Few documents and examples

OpneCL Programming Model

OpenCL PlatformOpenCL PlatformOpenCL ProgramOpenCL Program

CPU Code

(C, C++, etc)

CPU Code

(C, C++, etc)

HOSTHOST

CPUCPU

6

OpenCL PlatformOpenCL Program

CPU Code

(C, C++, etc)

CPU Code

(C, C++, etc)

Kernel Code

(OpenCL C99)

Kernel Code

(OpenCL C99)

HOST

DevicesDevices

CPUCPU

OpenCL Programming with Current Eclipse

l Reusing CDT(C/C++ Development Tool)

l No OpenCL dedicated Project Manager

l No support kernel source editing

l No support offline-compilation of OpenCL

l No support remote launching with kernel binary

l No other additional support for OpenCL programming

7

l Reusing CDT(C/C++ Development Tool)

l No OpenCL dedicated Project Manager

l No support kernel source editing

l No support offline-compilation of OpenCL

l No support remote launching with kernel binary

l No other additional support for OpenCL programming

The The OpenCLOpenCL IDE IDE

l Purpose

l Provides useful and dedicated development environment for

embedded OpenCL application

l Support s various OpenCL SDKs of many vendors (AMD, NVIDIA,

Apple, Intel, and many others)

8

l Purpose

l Provides useful and dedicated development environment for

embedded OpenCL application

l Support s various OpenCL SDKs of many vendors (AMD, NVIDIA,

Apple, Intel, and many others)

The The OpenCLOpenCL IDEIDE

l Supporting various OpenCL SDKs

9

The The OpenCLOpenCL IDE IDE

l OpenCL dedicated project manager

10

The The OpenCLOpenCL IDE IDE

l OpenCL application builder

11

The The OpenCLOpenCL IDE IDE

l OpenCL application launcher

12

Conclusions

l This presentation

l Introduce an OpenCL IDE based on Eclipse 4.2

l The first OpenCL dedicated IDE based on Eclipse

l Current Status

l Supports desktop OpenCL application development

l Future works

l Extended to support embedded OpenCL application

13

l This presentation

l Introduce an OpenCL IDE based on Eclipse 4.2

l The first OpenCL dedicated IDE based on Eclipse

l Current Status

l Supports desktop OpenCL application development

l Future works

l Extended to support embedded OpenCL application