- BufferCreate
- BufferFree
- BufferFromArray
- BufferRead
- BufferWrite
- Execute
- GetContext
- GetKernel
- GetKernelName
- GetProgram
- Initialize
- KernelCreate
- KernelFree
- SetArgument
- SetArgumentBuffer
- SetArgumentLocalMemory
- SetBuffersCount
- SetKernelsCount
- Shutdown
- SupportDouble
OpenCL 프로그램 작업을 위한 클래스
COpenCL 클래스는 OpenCL 함수 작업을 용이하게 하기 위한 래퍼입니다. 어떤 경우에는 GPU를 사용하면 계산 속도를 상당히 높일 수 있습니다.
float 및 double 값을 기반으로 한 계산을 위한 클래스 사용의 예는 MQL5\Scripts\Examples\OpenCL\ 폴더의 해당 하위 디렉토리에서 확인할 수 있습니다. OpenCL 프로그램의 소스 코드는 MQL5\Scripts\Examples\OpenCL\Double\Kernels 및 MQL5\Scripts\Examples\OpenCL\Float\Kernels 하위 디렉토리에 있습니다.
- MatrixMult.mq5 - 전역 및 로컬 메모리를 사용한 행렬 곱셈의 예
- BitonicSort.mq5 - GPU에서 배열 요소의 병렬 정렬 예
- FFT.mq5 - 고속 푸리에(Fourier) 변환 계산의 예
- Wavelet.mq5 - Morlet 웨이블릿을 사용한 데이터의 웨이블릿 변환 예.
OpenCL의 소스코드를 별도의 CL 파일에 작성하는 것이 좋으며, 이 소스 코드는 나중에 리소스 변수를 사용하여 MQL5 프로그램에 포함될 수 있습니다.
선언
class COpenCL |
제목
#include <OpenCL\OpenCL.mqh> |
클래스 메서드
Name |
설명 |
---|---|
지정된 인덱스에 OpenCL 버퍼를 생성하기 |
|
지정된 인덱스에서 버퍼 삭제 |
|
값 배열에서 지정된 인덱스에 버퍼를 생성하기 |
|
지정된 인덱스의 OpenCL 버퍼를 배열로 읽기 |
|
지정된 인덱스의 버퍼에 값 배열 쓰기 |
|
지정된 인덱스로 OpenCL 커널 실행 |
|
Returns handle of the OpenCL 컨텍스트의 핸들을 반환 |
|
지정한 인덱스에서 커널 개체의 핸들을 반환 |
|
지정한 인덱스에 있는 커널 개체의 이름을 반환 |
|
OpenCL 프로그램의 핸들을 반환 |
|
OpenCL 프로그램을 초기화 |
|
지정된 인덱스에서 OpenCL 프로그램에 진입점을 생성 |
|
지정된 인덱스에서 OpenCL 시작 함수를 제거 |
|
지정된 인덱스에서 OpenCL 함수의 매개 변수를 설정 |
|
지정된 인덱스에서 OpenCL 함수의 매개변수를 설정 |
|
지정된 인덱스에서 OpenCL 함수의 매개변수를 설정 |
|
버퍼 수를 설정 |
|
커널 개체의 수 설정 |
|
OpenCL 프로그램 언로드 |
|
장치에서 부동 소수점 데이터 유형이 지원되는지 확인 |