OpenCL4 Linux NVIDIA OpenCL에서 CL/cl.h를 못 찾을때 우선 NVIDIA 드라이버와 CUDA가 정상적으로 깔려있다면 기본적은 OpenCL은 설치가 끝난것 임 해당 파일이 있는지 확인해보려면 다음과 같이 하면됨 find / -iname cl.h 2>/dev/null 일단 해당 파일이 있어야 정상인거고, 해당 파일이 있다면 아래와 같이 헤더파일 관련 패키지를 설치 apt-get install opencl-headers 그러면 정상적으로 컴파일 되는 것을 확인할 수 있음 참고자료: stackoverflow.com/questions/21301905/compiling-an-opencl-program-using-a-cl-cl-h-file Compiling an OpenCL program using a CL/cl.h file I have sample "Hello, Wor.. 2020. 11. 26. Visual Studio에서 OpenCL(+OpenCV) 추가하기 1. Windows 데스크톱 마섭사에서 빈 프로젝트를 생성 2. Release모드 x64(64bit)로 시작 3. .c/.cpp를 하나 이상 생성함(생성하지 않으면 뒤의 항목이 안 보일 수 있음) 작성중입니다...ㅈㅅ 2020. 11. 14. OpenCL의 기본개념 1. 이종 시스템을 구성하는 컴포넌트들을 탐색(예: Intel cpu, nvidia 1050, arm cortex등) 2. 소프트웨어가 서로 다른 하드웨어의 속성을 잘 이용할 수 있도록 컴포넌트의 특성을 조사(예: 최대 그룹 차원) 3. 플랫폼에서 실행될 커널을 작성 4. 계산에 필요한 메모리 객체(글로벌 아이템, 그룹 등등)들을 생성 및 관리 5. 커널들을 시스템의 올바른 컴포넌트에 올리고 올바른 순서로 실행 6. 최종 결과를 수집 플랫폼 모델: 이종 시스템에 대한 상위 수준의 기술(추상적 기술) 실행 모델: 이종 플랫폼에서 명령어 스트림이 어떻게 실행되는지에 대한 추상적인 표현 메모리 모.. 2020. 9. 28. 커널 호출(워크 그룹, 워크 아이템, 데이터 병렬, 태스트 병렬) 프로세서 별로 같은 커널을 실행하면 데이터 병렬, 다른 커널을 실행하면 태스크 병렬임 GPU는 굉장히 많은 프로세서를 가지고 있지만 서로 각기 다른 프로그램을 실행하기 적합하지 않음 데이터 병렬과 태스크 병렬용 호스트 함수가 따로 있음 태스크 병렬용 함수는 병렬로 돌릴 커널의 개수만큼 함수를 호출해줘야함 // 4행 4열의 float형 배열 A와 B가 있다고 할 때 사칙연산 동시에 해보기 // 데이터 병렬 __kernel void dataParallel(__global float* A, __global float* B, __flobal float* C) { int base_id = 4*get_global_id(0); // NDRa.. 2020. 9. 28. 이전 1 다음