OpenCL [0] introduction
·
OpenCL
OpenCL[0] introduction 기존의 슈퍼 컴퓨터의 성능이 기존 데스크탑 컴퓨터의 성능으로 요구되면서 HW/SW 기술이 전달되고 있습니다.2020년 경에 Exa-scale(1018 flops)의 슈퍼 컴퓨터가 나올 것으로 예상되고 있습니다.이에 따라 새로운 프로세서 및 소프트웨어 기술의 개발을 필요로 하고 있습니다. Moore’s LawIntel의 CEO인 Moore가 만들어낸 법칙으로 Die 당 직접된 트랜지스터의 개수는 거의 2년에 2배씩 증가. * 반도체 Die 란 : 집적 회로에서 다이(Die)는 반도체 물질의 자그마한 사각형 조각을 말하며, 여기에 회로가 제작되어 있습니다. 일반적으로 하나의 웨이퍼에 여러 개의 집적 회로가 생산됩니다. 웨이퍼는 절단을 통해 여러 개의 조각으로 나뉘는데..
OpenCL[3] Memory Object, Kernel Execution
·
OpenCL
OpenCL[3] Memory Object, Kernel Execution OpenCL application execution scenario OpenCL platform modeldevice 마다 global memory와 constant memory를 가지고 있습니다.host와 device가 둘 다 접근할 수 있습니다. device에서는 host memory(main memory)에 바로 접근할 수 없습니다. Memory Objectdevice의 global/constant memory에 공간을 할당하고 데이터를 저장하기 위해 필요합니다.host program에서 memory object에 데이터를 읽고 쓸 수 있습니다. - kernel 함수에서 memory object를 인자로 받을 수 있습니다. ..
OpenCL[2] platform, device, context, command-queue, program
·
OpenCL
OpenCL platform, device, context, command-queue, program OpenCL Referencehttps://www.khronos.org/registry/cl/ 기본 표준 - OpenCL 아키텍처(architecture) 대한 전반적인 설명 - Host program에서 사용하는 API 함수 설명(동작 방식, 파라미터(parameter), 리턴 값, 오류 코드 등) - OpenCL 프로그램을 작성하기 위한 OpenCL C 언어 설명 OpenCL application execution process OpenCL Host datatypeCL/cl_platform.h에 선언되어 있습니다. cl_typename 타입 : 아키텍처마다 data type의 크기가 다를 수 있기 때..
OpenCL [1] concept
·
OpenCL
OpenCL [1] concept Heterogeneous Platform을 위한 application 개발 - 디바이스(device) 별로 다른 프로그래밍 방법이 존재합니다. (CPU, GPU, FPGA, …) - 개발 및 유지 보수의 어려움이 있습니다. OpenCLOpen Computing LanguageHeterogeneous Platform을 위한 표준 병렬 프로그래밍 모델입니다. - 다양한 아키텍처의 디바이스를 위해 프로그래밍이 가능합니다. - 추상화된 플랫폼 모델을 제공합니다. Open source로 사용이 되며, 다양한 회사들과 연구 기관에서 표준 개발에 참여하고 있습니다. - data/task parallel programming 모델 지원 (실제로는 데이터 병렬 프로그래밍 모델을 많이 사..
김 정출
'OpenCL' 카테고리의 글 목록