OpenCl y las herramientas para ello. Reseñas e impresiones. - página 27

 
Son historias de miedo sin fundamento de la era de OpenCL 1.0. Parece un texto de 2009-2010.
 
Renat:
Son historias de miedo sin fundamento de la era de OpenCL 1.0. Parece un texto de 2009-2010.

¿De qué estás hablando, Rinat?

Los drivers Catalyst 11.7 WHQL y 11.8 Preview han sido leídos para su descarga y AMD ha movido su APP-SDK para acelerar OpenCL

aplicaciones a la versión 2.5, ahora finalmente soportando Doble Precisión/Dobles/FP64/watchamacallit vía cl_khr_fp64.

Sin embargo, la advertencia es que sólo se incluye para las GPU basadas en Cypress, no en Cayman y no en los chips más antiguos capaces de realizar cálculos precisos de 64 bits.

http://www.gpu-tech.org/content.php/167-AMD-Catalyst-Driver-11.7-AMD-APP-SDK-2.5-bring-double-precision-for-Cypress-AVX-for-CPUs

Radeon HD 6990/6970/6950 (basada en Cayman):

- Doble precisión a 1/4 de velocidad
Radeon HD 6870/6850/6790 (basada en Barts):
- Sin soporte de doble precisión

Radeon HD 6 770/6750 (basada en Juniper, renombrada para uso OEM):
- Sin soporte de doble precisión

Radeon HD 6670/6650 (basada en turcos):
- Sin soporte de doble precisión

Radeon HD 6450 (basada en Caicos):
- Sin soporte de doble precisión

Radeon HD 5970 (basada en Cypress):
- Doble precisión a 1/5 de velocidad

Radeon HD 5870/5850/5830 (basada en Cypress):
- Doble precisión a 1/5 de velocidad

Radeon HD 5 770/5750 (basada en Juniper):
- Sin soporte de doble precisión

Radeon HD 5670/5650/5570 (basada en Redwood):
- Sin soporte de doble precisión

Radeon HD 5450 (basada en Cedar):
- Sin soporte de doble precisión

Radeon HD 4890/4870/4850/4830/4730 (basada en RV770/790):
- Doble precisión a 1/5 de velocidad

Radeon HD 4770 (basada en RV740):
- Doble precisión a 1/5 de velocidad

Radeon HD 4670/4650 (basada en RV730):
- Sin soporte de doble precisión

Radeon HD 4550/4350 (basada en RV710):
-Sin soporte de doble precisión

Radeon HD 3870/3850 (basada en RV670):
- Doble precisión (a 1/5 de velocidad)

Radeon HD 3650 (basada en RV635):
- Sin soporte de doble precisión
Radeon HD 3470/3450 (basada en RV615):
-Sin soporte de doble precisión

Radeon HD 2900 XT/Pro/GT/OEM (basada en R600):
-Sin soporte de doble precisión

Radeon HD 2600 XT/Pro (basada en RV630):
- Sin soporte de doble precisión

Radeon HD 2400 XT/Pro (basada en la RV610): - DirectX 10 (aunque sin Compute Shader) y versiones inferiores,

- Sin soporte de doble precisión

http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/CUDA_Toolkit_Release_Notes_And_Errata.txt

//foros.nvidia.com/index.php?showtopic=34744Windows 2003 Server no ha sido probado ni calificado para su uso con CUDA.


Rinat, díganos cómo es posible escribir un programa Win32 involuntariamente para que funcione en WinXP, Win Server 2008, Vista-Win7 y al mismo tiempo no funcione en Win Server 2003 ? nVidia CUDA SDK instalador de cualquier versión 3+ ni siquiera se instalará
en Server 2003 (no desempaquetar !), estúpidamente escribe referencia de la célula no válido, como en Win 3.1. ¿Cómo podría nVidia hacer esto en el programa Win32 UNEXECUTIONAL?
 

Hay mucho sobre la precisión estructural en la GPU, el programador de software FIXED tiene que ser muy, muy cuidadoso, bueno incluso de la propia Nvidia por ejemplo:

http://developer.nvidia.com/content/precision-performance-floating-point-and-ieee-754-compliance-nvidia-gpus

4.7 Diferencias con respecto a x86 Las GPUs NVIDIA se diferencian de la arquitectura x86 en que los modos de redondeo se codifican dentro de cada instrucción de punto de espuma en lugar de utilizar dinámicamente una palabra de control de punto de espuma. No se admiten manejadores de trampas para excepciones de punto flotante. En la GPU no hay ningún indicador de estado que señale si los cálculos se han desbordado, no se han desbordado o han implicado una aritmética inexacta. Al igual que SSE, la precisión de cada operación de la GPU se codifica en la instrucción (en el caso de x87, la precisión se controla dinámicamente mediante la palabra de control de punto flotante).

El estudio de CUDA y OpenCL a veces da la impresión paranormal de que los fabricantes de hierro han decidido matar por fin las matemáticas con sus "revoluciones" y su histeria de marketing, cuando crean artificialmente una falsa sensación de qué y cómo debe hacer exactamente MI ordenador. En lugar de cálculos matemáticos exactos y predecibles, se propone su velocidad frenética centrada en el jugador.

Un programador tiene que estar muy atento a la precisión de los cálculos, y decidir si quiere calcular en la CPU o en la GPU. Además, los propietarios de hardware, junto con Microsoft, han hecho a hurtadillas un feo lío también en la CPU.

Bueno, tengo trabajo que hacer. Adiós.

 

No parece que se haya discutido todavía...

Enlace relacionado: Biblioteca AMD C++ AMP integrada en Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Tengo entendido que la beta ya se puede descargar.

 
alsu:

No parece que se haya discutido todavía...

Enlace relacionado: Biblioteca AMD C++ AMP integrada en Visual Studio 11 http://blogs.amd.com/developer/2012/03/01/amd-and-the-visual-studio-11-beta/ Tengo entendido que la beta ya está disponible para su descarga.

Esto es particularmente interesante:

Autovectorización

Otra novedad de C++ en Visual Studio 11 es el autovectorizador, que está activado por defecto. El compilador vectorizará los bucles cuando sea posible para mejorar el rendimiento utilizando instrucciones vectoriales en el procesador (como SSE2 y SSE4.x). Tomemos como ejemplo el siguiente fragmento de código:

float A[1000], B[1000], C[1000];

for (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

El compilador de C++ puede vectorizar este bucle para ejecutar múltiples iteraciones simultáneamente, mejorando el rendimiento de forma significativa con las instrucciones disponibles en los procesadores modernos.

Además del vectorizador, el autoparalelizador ejecutará los bucles a través de múltiples procesadores de la CPU en el sistema, consiguiendo una mejor utilización efectiva del hardware subyacente. El paralelizador requiere la entrada del programador para indicar los bucles que deben ser paralelizados, y también se puede utilizar junto con el autovectorizador.

 
Lo que me pregunto es cuántas de estas cosas incluirán soporte para AMD64... no quiero quedarme colgado de Intel
 
joo:

Esto es particularmente interesante:

Autovectorización

Otra novedad de C++ en Visual Studio 11 es el autovectorizador, que está activado por defecto. El compilador vectorizará los bucles cuando sea posible para mejorar el rendimiento utilizando instrucciones vectoriales en el procesador (como SSE2 y SSE4.x). Tomemos como ejemplo el siguiente fragmento de código:

float A[1000], B[1000], C[1000];

for (i = 0; i < 1000; i++) {

A[i] = B[i] + C[i];

}

El compilador de C++ puede vectorizar este bucle para ejecutar múltiples iteraciones simultáneamente, mejorando el rendimiento de forma significativa con las instrucciones disponibles en los procesadores modernos.

Además del vectorizador, el autoparalelizador ejecutará los bucles a través de múltiples procesadores de la CPU en el sistema, consiguiendo una mejor utilización efectiva del hardware subyacente. El paralelizador requiere la entrada del programador para indicar los bucles que deben ser paralelizados, y también se puede utilizar junto con el autovectorizador.

Esto es fuerte. Realmente fuerte. La evolución de la tecnología informática hacia la paralelización está ocurriendo literalmente ante nuestros ojos.
 
AlexEro:

¿De qué estás hablando, Rinat?

Los drivers Catalyst 11.7 WHQL y 11.8 Preview han sido leídos para su descarga y AMD ha movido su APP-SDK para acelerar OpenCL

Lo que quiero decir es que usted pretende que no haya un hoy y trata de emitir conclusiones descaradamente falsas.

Por ejemplo, publicando las versiones más antiguas de las tarjetas de vídeo como prueba e ignorando obstinadamente los modelos 7XXX y los controladores Catalyst 12.x

A juzgar por tus declaraciones sobre Windows 2003, eres partidario de que "ELLOS deben apoyar a TODOS" y a base de violar tan sagrada condición (como te parece a ti), el mundo debería admitir su inutilidad e ir a rezar pidiendo perdón. El mundo sigue adelante, evolucionando y lanzando nuevos y mejores productos.

No sabes cómo escribir software incompatible porque no desarrollas este software tan masivo y no sabes cuáles son los problemas técnicos y los compromisos necesarios. Exigir a los fabricantes de tarjetas de vídeo que soporten la antigua versión para servidores de Windows 2003 es un extremismo del consumidor. Los fabricantes de software están encantados de olvidar el zoo de los antiguos sistemas operativos como un mal sueño. Y los fabricantes de conductores sólo sueñan con ello.

P.D.: no es necesario saltar a un método comparativo trivial "por qué apoyan el 2008" sustituyendo la verdadera comprensión de las causas de fondo

syl: deja de usar la versión rota de Windows 2003 Server - es 2012

 
Renat:

Me refiero a que pretendes que el día de hoy no existe y tratas de sacar conclusiones francamente falsas.

Por ejemplo, publicando las versiones más antiguas de las tarjetas de vídeo como prueba e ignorando obstinadamente los modelos 7XXX y los controladores Catalyst 12.x.

A juzgar por tus declaraciones sobre Windows 2003, eres partidario de que "ELLOS deben apoyar a TODOS" y a base de violar tan sagrada condición (como te parece a ti), el mundo debería admitir su inutilidad e ir a rezar pidiendo perdón. El mundo sigue adelante, evolucionando y lanzando nuevos y mejores productos.

No sabes cómo se puede escribir un software incompatible porque no desarrollas este software más masivo y no sabes cuáles son los problemas técnicos y las compensaciones necesarias. Exigir a los fabricantes de tarjetas de vídeo que soporten la antigua versión para servidores de Windows 2003 es un extremismo del consumidor. Los fabricantes de software están encantados de olvidar el zoo de los antiguos sistemas operativos como un mal sueño. Y los fabricantes de conductores sólo sueñan con ello.

Nota: no es necesario saltar al banal método comparativo de "por qué apoyan el 2008 entonces" que sustituye a una verdadera comprensión de las causas de fondo

syl: deja de usar la versión rota de Windows 2003 Server - ya es 2012

Bueno, entiendo perfectamente su respuesta. Ja, ja, espero que los demás también lo hagan.

Y eso es lo que, probablemente seguiré tu consejo, es exactamente lo mismo que mis intenciones. Así que los dejaré aquí por un tiempo, uno o dos años.

Adiós.

 
AlexEro:

Bueno, entiendo muy bien su respuesta. Ja, ja, espero que todos los demás también lo hagan.

Y te diré una cosa, voy a seguir tu consejo, coincide con mis intenciones. Así que los dejaré aquí por un tiempo, un año o dos.

Adiós.

Nunca se adivinaría en un post que su autor es el tópico.... No está claro por qué inició el hilo.