Sign inSign up

crulises/pylp

By crulises

Updated almost 7 years ago

Herramientas necesarias para la cátedra Paradigmas y Lenguajes de Programación.

Image
0

10K+

crulises/pylp repository overview

Acerca del Repositorio

Versión 1.0

  • g++ : suite de herramientas para la compilacion de código C++.
  • libopenmpi-dev: herramientas necesarias para la compilación de código OpenMPI.
  • ghc: intérprete de Haskell.
  • swi-prolog: intérprete de Prolog.

Modo de Uso

Para usar el contenedor se tienen 2 requisitos:

  • Iniciarlo en modo interactivo: para esto es necesario que se utilice el flag -it en la llamada a docker run.
  • Montar el directorio que contiene al código que se necesita compilar en el directorio de trabajo del contenedor (/home/pylp/codigo): para esto sera necesario montar el volúmen mediante el flag -v.

Para llevar a cabo los dos requisitos anteriores simplemente realizar lo siguiente:

$ cd /directorio/que/contiene/el/codigo/de/interes/
$ docker run --rm -it -v "$(pwd):/home/pylp/codigo" crulises/pylp:<tag>

Esto va a montar el directorio actual en el directorio de trabajo dentro del contenedor. Se puede notar, además, el --rm extra en la segunda linea que corre el contenedor, éste hace que al finalizar el mismo, se elimine de la lista de contenedores a los cuales Docker le lleva el seguimiento.

Compilación / Interpretación

De ahí en más, se puede compilar/interpretar todo de forma manual, o se puede usar el ayudante que se brinda junto con el contenedor, el ayudante se llama mediante pylp_ci, este puede recibir archivos con extensión *.hs, *.pl, *_mpi.cpp, *_mp.cpp. Los dos últimos hacen referencia a los archivos para OpenMPI y OpenMP, se requiere que el nombre del archivo finalice con "_mpi" y "_mp" respectivamente, debido a que ambos finalizan con la misma extensión, de ésta manera el ayudante sabe como tratar a cada uno.

Ejemplos:

  • pylp_ci archivo.hs : inicia el interprete de Haskell, luego carga el archivo archivo.hs
  • pylp_ci archivo.pl : inicia el intérprete de Prolog, luego carga el archivo archivo.pl
  • pylp_ci archivo_mpi.cpp : compila el archivo para codigo OpenMPI, luego ejecuta el resultado con 2 procesos por defecto, se le puede dar un segundo parámetro de formato numérico que representará la cantidad de procesos a lanzar para la ejecución del programa compilado.     Ejemplo: pylp_ci archivo_mpi.cpp 6, lanzará 6 procesos luego de la compilación.
  • pylp_ci archivo_mp.cpp : compila el archivo para código OpenMP, luego lo ejecuta.

Tags

Los contenedores que unicamente tienen número de versión estan basados en Ubuntu, aquellos que no estén basados en el mismo tendrán aclaraciones en sus respectivos tags.

Tag summary

Content type

Image

Digest

Size

246.8 MB

Last updated

almost 7 years ago

docker pull crulises/pylp