Este ejemplo muestra una implementación de Open Computing Language (OpenCLTM)de una computación solo con stencil de diferencia finita 3D. En una computación de ordenk, cada punto de salida es una función de 3k+1 puntos de entrada(k puntos adyacentes en cadadirección). Debido a la estructura del cálculo, hay una cantidad significativa de reutilización de datos en diferentes puntos de salida, dando lugar a optimizaciones que intentan minimizar los accesos redundantes de memoria.
El kernel en este ejemplo aprovecha la reutilización de datos mediante el uso de un patrón de cálculo de volumen corredizo (el 3D analógico del patrón de diseño de ventana corrediza) para reducir los requisitos de ancho de banda de memoria en comparación con las implementaciones tradicionales de OpenCL. Encontrará detalles adicionales en el paquete de ejemplo.
Desempeño informático de diferencia finita 3D
Orden de plantillas |
Tamaño del volumen |
Millones de puntos/s |
---|---|---|
8 |
384 x 384 x 384 |
2200 |
Funciones
- Volumen corredizo 3D eficiente
- Kernel de un solo elemento de trabajo
Descargas
El ejemplo de diseño proporciona código fuente para el dispositivo OpenCL (.cl) y para la aplicación host. Para la compilación de la aplicación host, el paquete Linux* incluye un makefile y el paquete Windows* incluye un proyecto de Microsoft Visual Studio 2010.
Se proporcionan las siguientes descargas para este ejemplo:
El uso de este diseño se rige por, y está sujeto a, los términos y condiciones del contrato de licencia de diseño de referencia de hardware.
Requisitos de software y hardware
Este ejemplo de diseño requiere las siguientes herramientas:
- Intel® FPGA software v17.1 o posterior
- Intel® FPGA SDK para OpenCL v17.1 o posterior
- En Linux: GNU Make y gcc
- En Windows*: Microsoft Visual Studio 2010*
Para descargar las herramientas de diseño de Intel, visite la página de descarga de OpenCL. Los requisitos para el sistema operativo subyacente son los mismos que los del SDK de Intel FPGA para OpenCL.
OpenCL y el logotipo de OpenCL son marcas comerciales de Apple Inc. utilizadas con permiso de Khronos.
* El producto se basa en una especificación de Khronos publicada y ha superado el proceso de prueba de conformidad de Khronos. El estado de conformidad actual se encuentra en www.khronos.org/conformance.