blue lights templateacarus.uson.mx/car-2016/dia3/dia3.pdf · compilaciones choya • código serial...

21
CAR http://acarus.uson.mx Responsable : María del Carmen Heras Sánchez Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar

Upload: others

Post on 07-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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