Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous...

13
Building an OpenCL IDE Jeong-Si Kim

Transcript of Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous...

Page 1: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

Building an OpenCL IDE

Jeong-Si Kim

Page 2: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

Microprocessor trends

l Heterogeneous many-core processors

2

Page 3: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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

Page 4: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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

Page 5: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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

Page 6: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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

Page 7: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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

Page 8: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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)

Page 9: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

The The OpenCLOpenCL IDEIDE

l Supporting various OpenCL SDKs

9

Page 10: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

The The OpenCLOpenCL IDE IDE

l OpenCL dedicated project manager

10

Page 11: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

The The OpenCLOpenCL IDE IDE

l OpenCL application builder

11

Page 12: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

The The OpenCLOpenCL IDE IDE

l OpenCL application launcher

12

Page 13: Building an OpenCL IDE - EclipseCon France2018 · OpenCL lProgramming framework for heterogeneous compute resources lThe first open, royal-free standard developed by the Khronos group

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