OpenCL: pruebas de implementación interna en MQL5 - página 12

 
Renat:

Mientras se hace el punto, con la documentación, publique al menos una lista de las funciones especiales de CL
 
Urain:
Ya que estamos, con la documentación, al menos publica una lista de las funciones especiales de CL
Sí, puedo ver que algunos de los nombres de los comandos no se corresponden con las notaciones estándar, por ejemplo

en el código de ejemplo - CLBufferCreate

y el estándar OpenCL es CLCreateBuffer
 
Urain:
Mientras se hace el punto, con la documentación, publique al menos una lista de las características especiales de CL
Secundado por.
 

La documentación se está redactando y se actualizará en los próximos días.

El script de texto se coloca en CodeBase: https://www.mql5.com/ru/code/825

Para trabajar con OpenCL haremos una clase que oculte el trabajo sucio con la inicialización y desinicialización de contextos, buffers, etc.

OpenCL Test
OpenCL Test
  • votos: 10
  • 2012.02.07
  • MetaQuotes Software
  • www.mql5.com
Небольшой рабочий пример расчета фрактала Мандельброта в OpenCL, который кардинально ускоряет расчеты по сравнению с софтверной реализацией примерно в 100 раз.
 
Urain:
Ya que estamos, con la documentación, publique al menos una lista de las características especiales de CL
El trabajo de OpenCL está disponible en versión preliminar en el sitio web
 
Rosh:
Hay un borrador de la sección de OpenCL disponible en el sitio web
Aquí hay otro libro sobre CUDA como referencia.
Archivos adjuntos:
CUDA-rus-book.zip  5880 kb
 

Renat, sería muy apropiado ahora abrir (dentro de unos límites razonables de "arena") el acceso a los buffers del objeto BitMapLabel. Así sería posible escribir la información de vídeo directamente en la memoria, y luego la salida por simple cambio de página activa. Copiar en un archivo no es una opción.

// O crear un nuevo objeto (algo así como GraphScreen) con un par de páginas conmutables.

El formato del buffer es obvio: array bidimensional de estructuras {ucar r, uchar g, uchar b, uchar alpha};

El tamaño puede establecerse forzosamente, al crear el objeto - por el tamaño del área de la pantalla, o dejar la opción de hacer que la pantalla virtual no sea igual en tamaño al área de salida con la capacidad de desplazarla en relación a la pantalla.

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
MetaDriver:

Renat, sería muy apropiado ahora abrir (dentro de unos límites razonables de "arena") el acceso a los buffers del objeto BitMapLabel. De manera que se pueda escribir la información de vídeo directamente en la memoria, y luego dar salida a la misma por simple cambio de página activa. A través de la copia a un archivo para intercambiar no es el caso.

Sí, ya es hora. Pongámoslo en práctica.

 

Si no ves el procesador como dispositivo OpenCL en los registros del terminal de la nueva compilación, puedes instalar el controlador desde la compilación previa. Deberían aparecer tanto los procesadores Intel como los AMD.

El controlador que soporta OpenCL1.2 fue tomado de streamsdk_2-6-RC3_win732 del sitio web de AMD.


Tengo esos registros:

2012.02.09 20:31:38 Terminal CPU: AuthenticAMD AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ con OpenCL 1.1 (2 unidades, 2009 MHz, 2047 Mb, versión 2.0)

2012.02.09 20:31:38 Terminal GPU: NVIDIA Corporation GeForce 8500 GT con OpenCL 1.0 (2 unidades, 918 MHz, 256 Mb, versión 285.62)


PD Es curioso pero el terminal detecta el procesador como dos procesadores de un solo núcleo en lugar de doble núcleo.

 
joo:

Si no ves el procesador como dispositivo OpenCL en el registro del terminal de la nueva compilación, puedes utilizar el controlador del pre-controlador.

Por favor, proporcione enlaces directos para descargar los ejecutables de los sitios oficiales .

Lamentablemente, no se permite la publicación de archivos ejecutables (ni siquiera en archivos comprimidos) en nuestros sitios. Esto es para la seguridad de los usuarios.

Razón de la queja: