![Page 1: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/1.jpg)
CAR
http://acarus.uson.mx
Responsable :
María del Carmen Heras Sánchez
Asesores Técnicos :
Daniel Mendoza Camacho
Yessica Vidal Quintanar
![Page 2: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/2.jpg)
http://acarus.uson.mx
Compilación
Ejecución
2
![Page 3: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/3.jpg)
Choya
3
![Page 4: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/4.jpg)
Compilaciones Choya
• Código Serial
• Código Paralelo
Lenguaje Compilador Comando
C Intel icc
Lenguaje Compilador Versión Comando
C MPI mpich mpicc
4
![Page 5: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/5.jpg)
Hola Mundo - Serial - C
• Crear archivo hola_mundo_serial.c
#include <stdio.h>
int main()
{
printf("Hola mundo \n");
return 0;
}
5
![Page 6: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/6.jpg)
Hola Mundo – Serial - C
• srun --pty -p batch /bin/bash -i
• Compilar hola_mundo_serial.c usando Intel
module load intel/13.1.1
icc hola_mundo_serial.c -o hola_mundo_serial-ci
• Ejecutar hola_mundo_serial-ci
./hola_mundo_serial-ci
6
![Page 7: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/7.jpg)
Hola Mundo – Paralelo – C
• Crear archivo hola_mundo_mpi.c
#include <stdio.h>
#include <mpi.h>
int main (argc, argv)
int argc;
char *argv[];
{
int rank, size;
MPI_Init (&argc, &argv);
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
MPI_Comm_size (MPI_COMM_WORLD, &size);
printf( "Hola Mundo %d of %d\n", rank, size );
MPI_Finalize();
return 0;
}
7
![Page 8: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/8.jpg)
Hola Mundo – Paralelo - C
• Compilar código MPI usando mpich
module load gnu/mpich-3.1.2
mpicc hola_mundo_mpi.c -o hola_mundo_mpi-c
• Ejecutar hola_mundo_mpi-c
mpirun –np 4 ./hola_mundo_mpi-c
8
![Page 9: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/9.jpg)
Ocotillo
9
![Page 10: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/10.jpg)
Compilaciones Ocotillo
• Código Serial
• Código Paralelo
Lenguaje Compilador Comando
C Open64 opencc
C Intel icc
Fortran Open64 openf90
Fortran Intel ifort
Lenguaje Compilador Versión Comando
C MPI openmpi mpicc
Fortran MPI openmpi mpif90
10
![Page 11: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/11.jpg)
Hola Mundo - Serial - C
• Crear archivo hola_mundo_serial.c
#include <stdio.h>
int main()
{
printf("Hola mundo \n");
return 0;
}
11
![Page 12: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/12.jpg)
Hola Mundo – Serial - C
• Lanzar un job interactivo
qsub - - nodes=1:ppn=1
• Compilar hola_mundo_serial.c usando open64
module load open64/5.0
opencc hola_mundo_serial.c -o hola_mundo_serial-co
• Ejecutar hola_mundo-co
./hola_mundo-co
12
![Page 13: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/13.jpg)
Hola Mundo – Serial - C
• Compilar hola_mundo_serial.c usando Intel
module load intel/parallel_studio-2013
icc hola_mundo_serial.c -o hola_mundo_serial-ci
• Ejecutar hola_mundo_serial-ci
./hola_mundo_serial-ci
13
![Page 14: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/14.jpg)
Hola Mundo - Serial - Fortran
• Crear archivo hola_mundo_serialF.f90
PROGRAM hola_mundo
PRINT *, "Hola mundo"
END PROGRAM hola_mundo
14
![Page 15: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/15.jpg)
Hola Mundo – Serial - Fortran
• Compilar hola_mundo_serialF.f90 usando open64
module load open64/5.0
openf90 hola_mundo_serialF.f90 –o hola_mundo_serialF-fo
• Ejecutar hola_mundo_serialF-fo
./hola_mundo_serialF-fo
15
![Page 16: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/16.jpg)
Hola Mundo – Serial - Fortran
• Compilar hola_mundo_serialF.f90 usando Intel
module load intel/parallel_studio-2013
ifort hola_mundo_serialF.f90 -o hola_mundo_serialF-fi
• Ejecutar hola_mundo_serialF-fi
./hola_mundo_serialF-fi
16
![Page 17: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/17.jpg)
Hola Mundo – Paralelo – C
• Crear archivo hola_mundo_mpi.c
#include <stdio.h>
#include <mpi.h>
int main (argc, argv)
int argc;
char *argv[];
{
int rank, size;
MPI_Init (&argc, &argv);
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
MPI_Comm_size (MPI_COMM_WORLD, &size);
printf( “Hola Mundo del proceso %d of %d\n", rank, size );
MPI_Finalize();
return 0;
}
17
![Page 18: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/18.jpg)
Hola Mundo – Paralelo - C
• Compilar código MPI usando openmpi
module load gnu/openmpi-1.4.3
mpicc hola_mundo_mpi.c -o hola_mundo_mpi-c
• Ejecutar hola_mundo_mpi-c
mpirun –np 8 ./hola_mundo_mpi-c
18
![Page 19: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/19.jpg)
Hola Mundo – Paralelo - Fortran
• Crear archivo hola_mundo_mpi.f90
program hola_mundo_mpi
include 'mpif.h'
integer rank, size, ierror, tag, status(MPI_STATUS_SIZE)
call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierror)
print*, 'node', rank, ': Hola Mundo'
call MPI_FINALIZE(ierror)
end
19
![Page 20: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/20.jpg)
Hola Mundo – Paralelo - Fortran
• Compilar código MPI usando openmpi
module load gnu/openmpi-1.4.3
mpif90 hola_mundo_mpi.f90 –o hola_mundo_mpi-f
• Ejecutar hola_mundo_mpi-c
mpirun –np 8 ./hola_mundo_mpi-f
20
![Page 21: Blue Lights Templateacarus.uson.mx/CAR-2016/dia3/dia3.pdf · Compilaciones Choya • Código Serial • Código Paralelo Lenguaje Compilador Comando C Intel icc Lenguaje Compilador](https://reader030.vdocumento.com/reader030/viewer/2022040601/5e93d2b01ba1b82124334ac5/html5/thumbnails/21.jpg)
Ejecuciones
• Serial
./hola_mundo_serial-co
./hola_mundo_serial-ci
./hola_mundo_serialF-fo
./hola_mundo_serialF-fi
• Paralelo
mpirun –np 8 ./hola_mundo_mpi-c
mpirun –np 8 ./hola_mundo_mpi-f
21