Version 3 (modified by tonin, 2 years ago) (diff) |
---|
Para procesar sus datos en los sistemas HPC podrá usar programas de desarrollo propio o de terceros. Son muchísimas las aplicaciones susceptibles de ejecutar en un sistema HPC, y es imposible que hayamos previsto la instalación de todas las posibles.
Podríamos simplificar en cuatro los escenarios respecto a las aplicaciones de procesamiento:
- Uso del entorno conda (miniconda): Conda es un entorno de de manejo de paquetes y dependencias del usuario para la mayoría de los lenguajes de programación https://docs.conda.io/en/latest/. Es instalable por el usuario en su propia carpeta home y permite de una forma muy sencilla acceder a las versiones de los lenguajes y de sus librerías con una interfaz simple. Le da libertad al usuario e independiza su trabajo de los administradores del sistema, por lo que es una de las opciones que más recomendamos. Para instalarlo puede seguir las instrucciones de aquí.
- Uso de aplicaciones de desarrollo propio (sin usar conda): Si dispone de los fuentes de los programas que va a utilizar, puede ejecutarlos directamente si son interpretados o compilarlos si son compilados, mediante los lenguajes de programación preinstalados, que inicialmente son:
- Python2 y Python3
- Java
- Perl
- Gnu C, C++ y Fortran
- Intel C, C++ y Fortran
Es importante tener en cuenta que para los lenguajes interpretados el intérprete está disponible en todos los nodos del cluster, mientras que para los compilados el compilador solo está disponible en el servidor de login, que es donde realizará la compilación y el enlazado de sus programas.
- Uso de aplicaciones científicas en formato fuente o binario: El uso de aplicaciones en formato fuente o binario no es trivial, ya sea por los requerimientos y dificultad de compilación en sus versiones fuente, o por la dependencia de librerías en su formato binario. No existe una norma ni receta original, pero si Vd. está acostumbrado a trabajar en este escenario no deberá tener mayor problema en compilar o ejecutar dichas aplicaciones desde su carpeta home. Para contar con la ayuda y el asesoramiento del equipo de administración del HPC, pordrá abrir un ticket en este mismo trac pinchando aquí o mediante el botón Nueva incidencia, seleccionando el tipo request y rellenando el formulario de Descripción con la información más completa que pueda. Tras pinchar en el botón Crear incidencia los administradores la evaluarán y contactaran mediante el tciket abierto hasta su resolución.
- Uso de aplicaciones en contenedores: Por todo lo dicho de la dificultad de proporcionar un entorno adaptable a todos los usuarios y a todas las aplicaciones, ultimamente está muy de moda el uso de contenedores, que son precisamente eso, ficheros únicos que contienen las aplicaciones, sus librerías e incluso los componentes del sistema operativo para que puedan funcionar independientemente del sistema operativo y entorno configurado en cualquier HPC.
Una de las implementaciones más populares del paradigma de contenedores es docker, y no será raro que se encuentre aplicaciones o pipelines completos en este formato. Podrá descargarse la imagen del contenedor docker image en su propia carpeta home y ejecutar el contenedor sin necesidad de que los administradores intervengan.
El uso de contenedores requiere de privilegios de administrador, por lo que se ha preparado el sistema HPC con el producto singularity (actualmente llamado apptainer) que permite la ejecución de contenedores en formato docker o en formato OCI en entorno de usuario. Es cada vez más frecuente encontrar pipelines de bioinformática distribuidos como contenedores, por lo que le animamos a que investigue si existe la opción para su caso particular.
Una vez bajada la imagen del contenedor, su ejecución es tan simple como llamar a su contenedor precedido del comando singularity
El comando singularity está disponible en el login server y en todos los nodos del HPC, en el primero para probar que funciona, en los nodos para ejecutar los procesos del contenedor.