MILC ACELERADO POR GPU

Empieza hoy mismo con esta guía para aplicaciones preparadas para GPU.

NAMD

MILC representa una parte del conjunto de códigos escrito por la colaboración de MIMD Lattice Computation (MILC) que se usa para estudiar cromodinámica cuántica (QCD), la teoría de interacción fuerte de la física subatómica. Realiza simulaciones de la teoría de campo gauge SU(3) en cuatro dimensiones en máquinas paralelas MIMD. Las “interacciones fuertes” son las responsables de la unión de quarks con protones y neutrones, y de mantenerlos unidos en el núcleo atómico.

La colaboración de MILC ha producido códigos de aplicación para estudiar varias áreas de investigación QCD, de las cuales solo una (simulaciones ks_dynamical con quarks Kogut-Susskind dinámicos convencionales) se usa aquí. Encontrarás más información sobre MILC aquí.

Instalación

Instalar aplicaciones en un entorno de computación de alto rendimiento (HPC) puede ser complicado. Los contenedores te permiten ejecutar la aplicación sin tener que instalarla en el sistema, de forma que resulta sencillo implementar la versión más reciente y, a la vez, se optimiza el rendimiento.
Ejecutar aplicaciones HPC mediante contenedores es muy simple y se puede configurar en unos minutos. El contenedor de MILC está disponible en NVIDIA GPU Cloud (NGC).

Ejecución de trabajos

Hay dos maneras de ejecutar el contenedor de MILC después de extraerlo de NGC.

  • Ejecutar MILC desde el comando nvidia-docker run.
  • Ejecutar MILC de forma interactiva en el contenedor.

1. Ejecutar MILC desde la línea de comandos

En este ejemplo, llevamos a cabo la prueba de referencia de APEX en una cuadrícula de 18 × 18 × 18 × 36 con los scripts del directorio /workspace/examples dentro del contenedor en una GPU.

Ten en cuenta que el script descargará los datos de APEX si no están disponibles en el directorio montado en /data en el contenedor.

Para guardar el resultado, asignamos (con -v) el directorio de trabajo actual al directorio /apex dentro del contenedor y guardamos el archivo de registro para que esté disponible fuera del contenedor una vez completado. Para ejecutar el contenedor de MILC desde la interfaz de la línea de comandos (CLI), escribe este comando:

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/apex nvcr.io/hpc/milc:patch4Oct2017 /workspace/examples/apex.sh 1

Ten en cuenta que también podrías enviar el comando de la CLI al directorio local y ejecutar tus propios scripts (por ejemplo, *.sh). El siguiente script inicia el contenedor de MILC y ejecuta el script *.sh del directorio results:

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/results nvcr.io/hpc/milc:patch4Oct2017 /results/*.sh

2. Ejecuta MILC de forma interactiva

En este ejemplo, llevamos a cabo de nuevo la prueba de referencia de APEX dentro del propio directorio /workspace en el contenedor. Ejecutarlo de forma interactiva resulta útil para que varios contenedores MILC se ejecuten con la misma imagen del SO.

Para ejecutar el contenedor de MILC de forma interactiva, escribe este comando para iniciar el contenedor y montar el directorio actual en /work, de forma que estará disponible dentro del propio contenedor (consulta las opciones de -v en el siguiente comando para configurar la asignación del directorio de datos local al directorio dentro del contenedor).

nvidia-docker run -ti --rm -v $(pwd)/data:/data -v $(pwd):/work nvcr.io/hpc/milc:patch4Oct2017 /bin/bash

Después de que se inicie el contenedor, te encontrarás en el directorio /workspace y podrás ejecutarlo de dos maneras diferentes. Una de ellas es ejecutarlo en el directorio /workspace con los scripts predeterminados, modificándolos y ejecutándolos de nuevo. Ten en cuenta que los conjuntos de datos montados estarán en /data si usas el comando anterior.

/workspace/examples/apex.sh 1

También puedes conectar tu propio directorio de trabajo con tus scripts a /work en el contendor y ejecutarlos cuando estés dentro de este:

-v :/work :/work

Pruebas de referencia

En esta sección, se muestra el rendimiento habitual de un contenedor de MILC en sistemas acelerados por GPU.

tesla-gpu-ready-apps-milc-pascal-benchmark-chart-625-udt-r2
tesla-gpu-ready-apps-milc-volta-benchmark-chart-625-udt-r2

CONFIGURACIONES DE SISTEMAS RECOMENDADAS

El contenedor de MILC está optimizado y su fiabilidad se ha puesto a prueba para ejecutarse en sistemas equipados con NVIDIA Pascal y NVIDIA Volta con NVIDIA CUDA® 9 o posteriores. MILC y todos los contenedores de aplicaciones HPC disponibles en NVIDIA GPU Cloud se pueden ejecutar en los sistemas siguientes:

  • Estación de trabajo: equipada con NVIDIA Titan V y CPU x86
  • NVIDIA DGX Station
  • NVIDIA DGX-1
  • Clúster HPC con GPU Pascal/Volta, CUDA 9, CPU x86
  • Nube: Amazon Web Services

ACCEDE A LOS CONTENEDORES DE APLICACIONES ACELERADOS POR GPU CON NGC.