GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar y configurar el software ELK Code Physics en Ubuntu

La ciencia se vuelve más difícil cuando tienes que trabajar con números grandes, ecuaciones complejas o cuando necesitas cálculos rápidos. Pero en los últimos años, estos problemas se han reducido considerablemente gracias a los ordenadores y más concretamente, gracias a los proyectos de código abierto enfocados a aportar una mejor comprensión y experiencia a la hora de realizar cálculos.

Como estudiante de Física, uso varias herramientas especializadas y la mayoría de ellas son de código abierto. Voy a compartir uno de ellos hoy que se llama código Elk, un proyecto de código abierto centrado en la física del estado sólido.

Aunque está disponible en los repositorios de Ubuntu, hay varias dependencias que necesita instalar y configurar explícitamente.

¿Qué es el código Elk?

En pocas palabras y gracias a su página oficial, Elk code es un código de ondas planas aumentadas, linealizadas, de potencial completo, totalmente electrónico. con un papel importante dentro del campo de la teoría funcional de la densidad.

Lo que hace es determinar las propiedades de los sólidos cristalinos con muchas funciones avanzadas como la optimización de la geometría. , Gráficos 2D y 3D, etc.

Instalar el compilador Intel Fortran en Ubuntu

Puede ser un poco difícil comenzar con él, pero la clave está en instalar bibliotecas matemáticas y compiladores en su sistema antes de instalar el código Elk.

Los compiladores como GNU Fortran o Intel Fortran están disponibles para el proceso, sin embargo, se recomienda instalar el compilador Intel Fortran porque la mayoría de los problemas dentro del código se resuelven con él.

El compilador Intel Fortran viene en dos partes:

  • El primero Intel oneAPI Base Toolkit, nos trae las bibliotecas matemáticas.
  • El segundo Intel oneAPI HPC Toolkit, nos trae las librerías Fortran para el correcto cómputo del código Elk.

Obtención del kit de herramientas base de Intel oneAPI

¡Empecemos! Abra una terminal en Ubuntu y use el siguiente comando para descargar la parte requerida:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/17977/l_BaseKit_p_2021.3.0.3219.sh

Debería verse así:

Después de eso, en la misma terminal, escribe el siguiente comando:

sudo bash l_BaseKit_p_2021.3.0.3219.sh

Estarás viendo algo como esto en tu terminal antes de que se abra una nueva ventana, ¡no te preocupes! Es parte del proceso.

Se abrirá una interfaz GUI:

Haga clic en el botón "Continuar" e Intel oneAPI Base Toolkit comenzará a descargarse:

Una vez que finalice la descarga, debería ver esta ventana:

Verá lo que se incluye exactamente en esta API. Se recomienda encarecidamente instalar todos los paquetes que contiene. Acepte los términos del acuerdo de licencia y presione el botón "Continuar".

Después de eso, la página siguiente es una especie de validación. Si falta algo, te avisa.

Por ejemplo, en este caso, recibimos una advertencia sobre el controlador de la GPU, pero saltémosla y continuemos con el proceso, porque, como podemos ver, el producto aún se puede usar con la CPU.

Así que simplemente haga clic en el botón de flecha hacia la derecha.

En esta parte, si ha instalado Eclipse IDE y desea integrar las bibliotecas en él, seleccione la primera, de lo contrario, simplemente omita la integración y haga clic en el botón de flecha derecha. Una vez hecho esto, podrá ver la última parte antes de la instalación completa.

Lea el Programa de mejora de software de Intel e ingrese su elección en la recopilación de su información, y presione el botón "Instalar". Finalmente, la instalación comenzará.

La duración de la instalación dependerá de qué tan rápida sea su conexión a Internet, sea paciente y deje que Intel termine la tarea.

Una vez que finalice la tarea, verá algo como esto:

Significa que la instalación de Intel oneAPI Base Toolkit ha finalizado; ahora, comencemos con el siguiente.

Instalación del kit de herramientas Intel oneAPI HPC

Para ser honesto, es casi el mismo proceso, por lo que será un poco más rápido.

Comencemos usando este comando:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/17912/l_HPCKit_p_2021.3.0.3230.sh

Una vez que finalice el proceso anterior, use el siguiente comando:

sudo bash l_HPCKit_p_2021.3.0.3230.sh

Después de eso, el proceso de instalación comenzará como el que viste antes.

Haga clic en continuar y comienza a descargar:

Una vez finalizada (esta descarga es realmente rápida), aparecerá la siguiente ventana en tu escritorio. Acepte los términos y condiciones y haga clic en Continuar.

Como se hizo antes, saltemos la integración de las bibliotecas con cualquier IDE.

Y finalmente, ingrese su elección para la recopilación de su información y haga clic en el botón "Instalar".

Las bibliotecas comenzarán a descargarse e instalarse en su sistema, solo espere hasta que finalice este proceso. Recuerda, la velocidad de la descarga depende de tu conexión a Internet, así que sé paciente.

Cuando finalice el proceso, haga clic en el botón Finalizar.

Y esa es prácticamente la clave para la instalación y funcionalidad completa de Elk-code. Estas dos bibliotecas son esenciales para la correcta ejecución.

Configurar los compiladores

Finalmente, ejecutemos la siguiente línea de comando para iniciar estas dos bibliotecas dentro de la terminal:

source /opt/intel/oneapi/setvars.sh

Ahora ve a este directorio:

cd /opt/intel/oneapi/mkl/2021.3.0/interfaces

Dentro de esta carpeta encontrarás otras, pero las más importantes son:

  • fftw2xc
  • fftw2x_cdft
  • fftw2xf
  • fftw3xc
  • fftw3x_cdft
  • fftw3xf
  • mklmpi

Dentro de cada carpeta que se muestra arriba, deberá ejecutar el siguiente comando:

make libintel64

Una cosa importante es que a partir de ahora, cada vez que use Elk-code, debe ejecutar la siguiente línea en su terminal para habilitar estas dos bibliotecas.

source /opt/intel/oneapi/setvars.sh

Con estos pasos anteriores, está listo para el paso más importante, la instalación de Elk-code en su distribución de Linux.

Instalando código Elk en Ubuntu

Comencemos a descargar, por supuesto, el código Elk, cuya última versión se encuentra en la página de SourceForge.

Extraiga la carpeta descargada.

Ahora, descarguemos la biblioteca de la última versión estable de Wannier90, que lo ayudará a calcular propiedades electrónicas avanzadas de materiales con alta eficiencia y precisión, desde su sitio web oficial.

Una vez descargado el archivo .tar.gz, localicémoslo en la aplicación Archivos y hagamos doble clic en él para extraer su contenido.

Navega a la carpeta extraída y ábrela en la terminal.

Escriba estos comandos uno por uno:

source /opt/intel/oneapi/setvars.sh
cp ./config/make.inc.ifort ./make.inc
make
make lib
cp libwannier.a ../elk-7.2.42/src/
cd ../

Estamos a punto de terminar. Continúe escribiendo el siguiente comando en su terminal, uno por uno.

wget http://www.tddft.org/programs/libxc/down.php?file=5.1.4/libxc-5.1.4.tar.gz

Ahora ejecuta estos comandos uno por uno:

mv down.php?file=5.1.4%2Flibxc-5.1.4.tar.gz libxc-5.1.4.tar.gz
tar -zxvf libxc-5.1.4.tar.gz
cd libxc-5.1.4
./configure CC=icc FC=ifort
make
make check
sudo make install
cp /opt/etsf/lib/libxc.a ../elk-7.2.42/src/
cp /opt/etsf/lib/libxcf90.a ../elk-7.2.42/src/

Al final del proceso, tendrás algo como esto en tu terminal:

Por favor, cierre la terminal y, finalmente, es hora de hacer la última parte, vamos directamente a la carpeta de código Elk anterior extraída. Una vez allí, abre la carpeta en la terminal.

Y escriba los siguientes dos comandos:

source /opt/intel/oneapi/setvars.sh
cp /opt/intel/oneapi/mkl/2021.3.0/include/mkl_dfti.f90 src/

Casi ahí. Inicie la configuración:

./setup

Su terminal debería verse así:

Escribe el número 1 porque ha instalado el compilador Intel Fortran.

No cierre la terminal; volvamos a la carpeta de código Elk en la aplicación Archivos y abramos el archivo llamado "make.inc":

Borre todas las palabras que contiene e ingrese esto en su lugar:

MAKE = make
F90 = mpiifort
F90_OPTS = -O3 -ip -xHost -qopenmp
F77 = mpiifort
F77_OPTS = -O3 -ip -xHost -qopenmp
AR = xiar
LIB_SYS =
SRC_OMP =
SRC_MPI =

LIB_LPK = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
#LIB_LPK = -L/opt/intel/oneapi/mkl/2021.3.0/lib/intel64 -lmkl_cdft_core -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lmkl_blacs_intelmpi_ilp64 -liomp5 -lpthread -lm -ldl
SRC_MKL =

LIB_libxc = libxcf90.a libxc.a
SRC_libxc = libxcf90.f90 libxcifc.f90

SRC_FFT = mkl_dfti.f90 zfftifc_mkl.f90

LIB_W90 = libwannier.a
SRC_W90S =

SRC_OBLAS = oblas_stub.f90
SRC_BLIS = blis_stub.f90

Guarde el archivo y regrese a la terminal. Finalmente, simplemente escriba:

make

¡Y está bien! Después de que finalice este último paso, habrá instalado el código Elk en su sistema Linux.

¡Estupendo! Este último paso es un poco lento, pero relájate, es todo lo que tienes que hacer. Finalmente has terminado todos los procesos. ¡Felicitaciones!

Conclusión personal

Este proceso puede ser un poco exhaustivo, pero cada paso es muy importante para el correcto funcionamiento del software. Realmente espero que si eres científico o simplemente quieres tener curiosidad sobre este tema, esta publicación te resulte muy útil.

Por otro lado, si quieres saber más sobre cómo el código Elk puede ayudarte en los cálculos, hay un excelente video sobre cómo obtener una ecuación de estado usando el código Elk. ¡Buena suerte!

Artículo Original


Ubuntu
  1. Cómo instalar y configurar Docker-CE en Ubuntu 18.04 LTS

  2. Cómo instalar y configurar el servidor web Apache en Ubuntu

  3. Apt – ¿Cómo instalar los paquetes recomendados después de instalar con el interruptor –no-install-recomienda?

  4. Cómo instalar Gnome en Ubuntu 22.04 LTS Jammy Jellyfish

  5. Cómo instalar y usar Flatpak en Linux

¿Sistema de archivos Ubuntu 12.04.02?

¡Cómo instalar Ksnip, una herramienta de captura de pantalla, en Ubuntu, Fedora, Debian y openSUSE!

¿Qué es la normalización de bases de datos?

Cómo instalar la duplicidad en Ubuntu 20.04

Cómo cifrar directorios con eCryptfs en Ubuntu 16.04

AlmaLinux OS 8.4 y CentOS Stream:distribuciones basadas en RHEL parte 5