OpenCL programları ile çalışmak için tasarlanmış bir sınıftır

COpenCL class is a wrapper to facilitate working with the OpenCL functions. Bazı durumlarda, GPU kullanımı hesaplama hızını oldukça artırır.

Bu sınıfın float ve double tipli değerlere dayalı kullanımı için gereken örnekler MQL5\Scripts\Examples\OpenCL\ klasöründe bulunabilir. OpenCL programlarının kaynak kodları MQL5\Scripts\Examples\OpenCL\Double\Kernels ve MQL5\Scripts\Examples\OpenCL\Float\Kernels alt dizinlerine kaydedilir.

  • MatrixMult.mq5 - global ve yerel bellek kullanımıyla matris çarpımı örneği
  • BitonicSort.mq5 - dizi elemanlarının GPU ile paralel sıralanması örneği
  • FFT.mq5 - Hızlı Fourier dönüşümünün hesaplanması örneği
  • Wavelet.mq5 - Morlet dalgacığı ile dalgacık dönüşümü örneği.

OpenCL kaynak kodunun ayrı CL dosyalarına yazılması tavsiye edilir. Bunlar daha sonra kaynak değişkenleri yardımıyla MQL5 programına eklenebilir.

Bildirim

   class COpenCL

Başlık

   #include <OpenCL\OpenCL.mqh>

Sınıf yöntemleri

İsim

Açıklama

BufferCreate

Belirtilen indis üzerinde bir OpenCL tamponu oluşturur

BufferFree

Belirtilen indis üzerindeki tamponu siler

BufferFromArray

Belirtilen indis üzerinde bir değer dizisinden tampon oluşturur

BufferRead

Belirtilen indis üzerindeki OpenCL tamponu bir diziye aktarır

BufferWrite

Bir diziyi belirtilen indis üzerindeki tampona yazar

Execute

Belirtilen indis üzerindeki OpenCL kernelini çalıştırır

GetContext

OpenCL bağlamının tanıtıcı değerine dönüş yapar

GetKernel

Belirtilen indis üzerindeki kernel nesnesinin tanıtıcı değerine dönüş yapar

GetKernelName

Belirtilen indis üzerindeki kernel nesnesinin ismine dönüş yapar

GetProgram

OpenCL programının tanıtıcı değerine dönüş yapar

Initialize

OpenCL programınıbaşlatır

KernelCreate

Belirtilen indis üzerindeki OpenCL programına bir giriş noktası ekler

KernelFree

Belirtilen indis üzerindeki OpenCL start fonksiyonunu siler

SetArgument

Belirtilen indis üzerindeki OpenCL fonksiyonu için bir parametre ayarlar.

SetArgumentBuffer

Bir OpenCL tamponunu, belirtilen indis üzerindeki OpenCL fonksiyonunun parametresi olarak ayarlar

SetArgumentLocalMemory

Belirtilen indis üzerindeki OpenCL fonksiyonu için yerel bellekte bir parametre ayarlar.

SetBuffersCount

Tampon sayısını ayarlar

SetKernelsCount

Kernel nesnelerinin sayısını ayarlar

Shutdown

OpenCL programını kaldırır

SupportDouble

Kayan noktalı veri tiplerinin aygıt üzerinde desteklenip desteklenmediğini kontrol eder