OpenCL: pruebas de implementación interna en MQL5 - página 52
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Supongo que si queremos pasar un array bidimensional/multidimensional con datos a la GPU, podemos utilizar la representación de los datos en forma de estructura y pasar la estructura?
Lo probé a través de una estructura - ¡funcionó! Yo mismo nunca habría imaginado pasar arrays multidimensionales de esta manera :) Gracias.
He adjuntado un pequeño ejemplo, usando arrays bidimensionales - funciona bien. El ejemplo está un poco torcido - pero en general demuestra la posibilidad de tal perversión bastante bien :)
PS: Su UGA + OpenCL - no es suficiente emociones :) Como solíamos vivir - es terrible recordar...
PD: Tu UGA + OpenCL no tiene ninguna emoción :) Cómo vivíamos antes es espeluznante recordarlo...
¿CL_DEVICE_ANY y CL_DEVICE_GPU son obsoletos?
¿Son relevantes ahora CL_USE_ANY y CL_USE_GPU_ONLY?
¿CL_DEVICE_ANY y CL_DEVICE_GPU son obsoletos?
¿Son relevantes ahora CL_USE_ANY y CL_USE_GPU_ONLY?
Sí.
Descubrí por el método del Prof. Tychkov un misterioso dispositivo 1 en mi ordenador, que es más rápido que CL_USE_ANY e incluso que CL_USE_GPU_ONLY.
¿Qué es? :O
He encontrado un misterioso dispositivo 1 en mi ordenador, utilizando el método del profesor Tychkov, que funciona más rápido que CL_USE_ANY e incluso más rápido que CL_USE_GPU_ONLY.
¿Qué es? :O
Las estadísticas en el tablero. Para todos los dispositivos. :)
CL_USE_ANY
2012.04.12 23:27:29 Struct_OpenCL (GBPUSD,H1) Diferencia de cálculo entre GPY y CPY: 0.0
2012.04.12 23:27:28 Struct_OpenCL (GBPUSD,H1) CPY/GPU= 1.326
2012.04.12 23:27:28 Struct_OpenCL (GBPUSD,H1) Tiempo GPU = 141 ms
2012.04.12 23:27:28 Struct_OpenCL (GBPUSD,H1) Tiempo SPU = 187 ms
CL_USE_GPU_ONLY
2012.04.12 23:29:11 Struct_OpenCL (GBPUSD,H1) Diferencia de cálculo entre GPY y CPY: 0.0
2012.04.12 23:29:11 Struct_OpenCL (GBPUSD,H1) CPY/GPU= 1.376
2012.04.12 23:29:11 Struct_OpenCL (GBPUSD,H1) Tiempo GPU = 125 ms
2012.04.12 23:29:11 Struct_OpenCL (GBPUSD,H1) Tiempo SPU = 172 ms
1
2012.04.12 23:30:12 Struct_OpenCL (GBPUSD,H1) Diferencia de cálculo entre GPY y CPY: 0.0
2012.04.12 23:30:12 Struct_OpenCL (GBPUSD,H1) CPY/GPU= 2.397
2012.04.12 23:30:12 Struct_OpenCL (GBPUSD,H1) Tiempo GPU = 78 ms
2012.04.12 23:30:12 Struct_OpenCL (GBPUSD,H1) Tiempo SPU = 187 ms
Recomiendo a todo el mundo que pruebe lo mismo que yo, es muy posible que encuentre un dispositivo más rápido que la indefensa gráfica discreta. :D
PS. Sospecho que CL_USE_ANY y CL_USE_GPU_ONLY son lo mismo: el cálculo en la CPU, pero el dispositivo 1 es mi GPU. Es una confusión elemental en las constantes estándar.
Recomiendo a todo el mundo que trastee con él como hice yo, probablemente encontrará un dispositivo más rápido que la inútil gráfica discreta. :D
PS. Sospecho que CL_USE_ANY y CL_USE_GPU_ONLY son la misma cosa - es un cálculo de la CPU, pero el dispositivo 1 es mi GPU. Es una confusión elemental en las constantes estándar.
Esto es lo que he leído. ¡No estaba en la ayuda de la terminal! Se ha modificado el código para reflejar estos cambios. A ver qué consigues. Lo tengo así:
23:17:00 Tiempo de la EPD = 1155 ms
23:17:01 Total de dispositivos habilitados para OpenCL: 2
23:17:02 Tiempo de la GPU #0 = 249 ms
23:17:02 CPY/GPU #0 = 4.639
23:17:03 GPU #1 Tiempo = 265 ms
23:17:03 CPY/GPU #1= 4.358
CPU: Intel(R) Core(TM) i3-2310M original a 2,10 GHz con OpenCL 1.1 (4 unidades, 2095 MHz, 5990 Mb, versión 2.0)
Prueba a usar esta estructura, a mí no me funcionó (sospecho que la segunda dimensión tiene que ser de un tamaño fijo, por eso no me funcionó):
Y, por comodidad, una función como ésta para cambiar el tamaño de ambas dimensiones: