Ejemplo de diseño de multiplicación de matriz

Recomendado para:

  • Dispositivo: Desconocido

  • Quartus: v17.1

author-image

Por

Este ejemplo contiene una implementación de alto desempeño de la operación de multiplicación de matriz fundamental y demuestra optimizaciones que se pueden describir en Open Computing Language (OpenCL™) para lograr un desempeño significativamente mejor. A nivel algorítmico, el kernel en este ejemplo muestra cómo describir el mosaico de bucles para aprovechar la reutilización de datos inherente a la computación.

Este ejemplo también muestra cómo utilizar optimizaciones de compilador estilo SIMD y desenvoltoria de bucle para aumentar fácilmente el desempeño del kernel. Como parte del paquete de ejemplo, se han seleccionado los parámetros para cada dispositivo precompilado binario para maximizar el desempeño en esa placa en particular. Hay detalles adicionales disponibles en el paquete de ejemplo que muestra cuán fácil es parar el kernel para focalizar diferentes requisitos de desempeño y recursos.

Además, la aplicación host está configurada para aprovechar automáticamente varios dispositivos OpenCL distribuyendo la informática y logrando aún más paralelismo.

Desempeño de multiplicación de matriz máxima

Funciones

  • Implementación optimizada del funcionamiento fundamental
  • Búfer de memoria local
  • Optimizaciones del compilador (desajuste de bucle, atributo num_simd_work_items)
  • Optimizaciones de punto flotante
  • Ejecución de varios dispositivos

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 de 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.

El contenido de esta página es una combinación de la traducción humana y automática del contenido original en inglés. Este contenido se ofrece únicamente para su comodidad como información general y no debe considerarse completa o precisa. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.