![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
36. Ejecutar instrucciones en CPU Datapath
36. Ejecutar instrucciones en CPU Datapath
El video explica cómo se ejecutan los cálculos en una ruta de datos de la CPU usando un ejemplo de cómo realizar operaciones de acumulación. La ruta de datos incluye unidades de carga y almacenamiento para cargar y almacenar datos en la memoria usando direcciones y unidades funcionales como ALU para realizar operaciones. El video ilustra el proceso paso a paso, incluida la carga de datos de la memoria, la realización de operaciones y el almacenamiento de resultados en la memoria. El ponente también explica cómo se puede utilizar FPGA para implementar la misma función, aprovechando al máximo los recursos disponibles en el hardware.
37. Ruta de datos personalizada en FPGA
37. Ruta de datos personalizada en FPGA
El video explica el uso de un FPGA para implementar la función del kernel para mejorar el rendimiento al desenrollar el hardware de la CPU y personalizar la ruta de datos en el FPGA. Al eliminar unidades no utilizadas, cargar constantes y cables, y reprogramar algunas operaciones, las operaciones de carga se pueden realizar simultáneamente para aumentar el rendimiento. El diseño de rutas de datos personalizadas puede mejorar el rendimiento, reducir la latencia y el consumo de energía al seleccionar las operaciones y los datos necesarios para una función en particular. El video muestra un ejemplo de suma según la demanda en dos vectores, con el resultado almacenado en la memoria utilizando registros entre etapas para permitir una canalización eficiente y el lanzamiento de ocho elementos de trabajo para sumas consecutivas.
38. OpenCL para FPGA y núcleo paralelo de datos
38. OpenCL para FPGA y núcleo paralelo de datos
El video explica cómo OpenCL permite a los ingenieros de FPGA utilizar recursos de ingeniería de software para expandir la cantidad de desarrolladores de aplicaciones de FPGA aprovechando los recursos de cómputo paralelo en FPGA. El modelo de programación de OpenCL permite la especificación del paralelismo mediante el uso de funciones paralelas de datos llamadas núcleos, y cada núcleo se basa en identificadores especificados por "obtener ID global" para realizar cálculos paralelos en segmentos de datos independientes. Se introduce el concepto de subprocesos y grupos de trabajo, donde los subprocesos acceden a diferentes partes del conjunto de datos, divididos en grupos de trabajo, y solo los subprocesos dentro del mismo grupo de trabajo pueden compartir la memoria local. Con este modelo de programación, OpenCL permite un procesamiento paralelo de datos eficiente.
39. Programación del lado del host OpenCL: contexto, colas, objetos de memoria, etc.
39. Programación del lado del host OpenCL: contexto, colas, objetos de memoria, etc.
Este video tutorial explora varios conceptos de programación del lado del host en OpenCL, con un enfoque en el contexto, las colas y los objetos de memoria. Cubre las dos nuevas API en OpenCL, clCreateKernelsInProgram y clSetKernelArg, que se utilizan para crear objetos del kernel y pasar argumentos a las funciones del kernel. El tutorial también analiza el uso de la API clCreateImage para crear objetos de imagen y cómo los píxeles de la imagen se almacenan en la memoria utilizando el orden y el tipo de canal. Explica cómo OpenCL maneja imágenes 2D y 3D, cómo los desarrolladores pueden recopilar información sobre objetos de memoria usando API como clGetMemoryObjectInfo y cómo realizar operaciones de objetos de memoria como lectura y escritura de memoria intermedia, asignación de objetos de memoria y copia de datos entre objetos de memoria.
40. Flujo de diseño HDL para FPGA
40. Flujo de diseño HDL para FPGA
Este video explica el proceso de desarrollo de arreglos de puertas programables en campo (FPGA) utilizando el software de diseño Quartus.
Se explica la metodología de diseño y las herramientas de software para el desarrollo de FPGA. El flujo típico de diseño de lógica programable comienza con una especificación de diseño, pasa a la codificación RTL y luego a la simulación funcional RTL, a la que sigue la síntesis para traducir el diseño en primitivas específicas del dispositivo. Luego, los ingenieros asignan estas primitivas a ubicaciones específicas dentro de un FPGA particular y verifican las especificaciones de rendimiento a través del análisis de tiempo. Finalmente, el diseño se carga en una tarjeta FPGA y se pueden usar herramientas de depuración para probarlo en el hardware. Para los FPGA de Intel, el software de diseño Quartus se utiliza para realizar el flujo de diseño, comenzando con una descripción del sistema y pasando a la síntesis lógica, el lugar y la ruta, el análisis de tiempo y potencia, y la programación del diseño en los FPGA reales.
41. Tipos de datos OpenCL y memoria del dispositivo
41. Tipos de datos OpenCL y memoria del dispositivo
El video analiza los tipos de datos OpenCL y la memoria del dispositivo. Abarca los tipos booleanos, enteros y de coma flotante y explica los tipos de datos específicos que se utilizan para operar en direcciones de memoria como int-ptr, uint-ptr y ptrdiff-t. También explica los tipos de datos vectoriales, que son matrices que contienen varios elementos del mismo tipo que permiten aplicar operadores a todos los elementos al mismo tiempo, y cómo usarlos. El video proporciona varios ejemplos de cómo inicializar y acceder a elementos en un vector, incluido el uso de letras e índices numéricos, alto-bajo e impar. También explica la alineación de la memoria y cómo usar el argumento del kernel establecido y los argumentos del kernel privado.
42. Operaciones relacionales vectoriales de OpenCL
42. Operaciones relacionales vectoriales de OpenCL
El video analiza la programación del núcleo OpenCL y sus operadores y funciones integradas. La atención se centra en los operadores relacionales y cómo funcionan con valores escalares y vectoriales. Se presenta un ejemplo de función kernel, "op test", que realiza una operación AND de elementos entre una constante y un vector privado. El video explica cómo implementar un vector con operaciones relacionales en OpenCL comparando elementos vectoriales específicos con un escalar usando operaciones lógicas. El vector resultante se puede usar en un ciclo while para crear un vector de salida final que se asigna al objeto de memoria de salida.
43. Funciones integradas de OpenCL: vloadn, select
43. Funciones integradas de OpenCL: vloadn, select
El video cubre dos funciones integradas clave de OpenCL: vloadn y select. Vloadn le permite inicializar lotes con valores de una matriz escalar y toma dos argumentos: compensación y un puntero a la matriz escalar. Seleccionar, por otro lado, le permite seleccionar ciertos elementos de dos lotes y usarlos para crear un nuevo vector. Puede contener valores enteros con o sin signo, y solo importa el bit más significativo en los elementos de la máscara. El tutorial demuestra cómo funcionan estas funciones en la práctica.
44. Introducción a DPC++
44. Introducción a DPC++
Este video presenta DPC++, un lenguaje de alto nivel para programación paralela de datos que descarga computación compleja a aceleradores como FPGA y GPU, y es parte del marco OneAPI. DPC ++ tiene como objetivo acelerar las cargas de trabajo paralelas de datos utilizando C ++ moderno y optimización del rendimiento orientada a la arquitectura. El disertante brinda un ejemplo simple de DPC++ que demuestra cómo declarar variables de administración de datos y ejecutar una función del núcleo en un dispositivo mediante un comando y un acceso. El video también explica cómo la función lambda puede tomar argumentos y referencias de las variables declaradas fuera de ella.
45. ¿Cómo pensar en paralelo?
45. ¿Cómo pensar en paralelo?
El video enseña acerca de la programación paralela utilizando la multiplicación de matrices como ejemplo. Destaca el paralelismo en este cálculo, donde varias filas y columnas se pueden calcular de forma independiente. La implementación de un cálculo de un solo elemento en la matriz C se muestra utilizando una función kernel que permite el cálculo paralelo. El uso de accesores, rango y funciones kernel paralelas se explican en detalle. Se analizan los pasos necesarios para pasar el valor del rango a la función kernel. También se muestra una demostración de la multiplicación de matrices utilizando la nube de desarrollo Intel FPGA.