md-shadman / CSE707_G4

0 stars 0 forks source link

Summary and Exercise for 11 December #5

Open bkmgit opened 3 years ago

bkmgit commented 3 years ago

References:

https://en.wikibooks.org/wiki/Parallel_Spectral_Numerical_Methods/Introduction_to_Parallel_Programming

http://www.shodor.org/refdesk/Resources/Tutorials/BasicMPI/

https://computing.llnl.gov/tutorials/mpi/

Command summary on cluster

wget https://raw.githubusercontent.com/openmichigan/PSNM/master/IntroductionToParallelProgramming/Programs/HelloworldMpi/helloworld.f90

mpif90 helloworld.f90 -o helloworld mpirun -np 1 ./helloworld mpirun -np 2 ./helloworld mpirun -np 4 ./helloworld mpirun -np 8 ./helloworld

wget http://www.shodor.org/refdesk/Resources/Tutorials/BasicMPI/fire.c gcc fire.c -o fire ./fire

wget http://www.shodor.org/refdesk/Resources/Tutorials/BasicMPI/fire_mpi.c mpicc fire_mpi.c -o fire_mpi time mpirun -np 1 ./fire_mpi time mpirun -np 2 ./fire_mpi time mpirun -np 4 ./fire_mpi time mpirun -np 8 ./fire_mpi

Group exercise (should be uploaded to their repositories): a) Summarize what is in http://www.shodor.org/refdesk/Resources/Tutorials/BasicMPI/ b) See if you can find a better way to make this program parallel to get close to 100% efficiency on 8 cores. c) For Cowichan problems indicate two distributed memory parallel programming languages you will try. Some choices include 1) MPI4PY - https://mpi4py.readthedocs.io/en/stable/ 2) C and MPI - https://www.mpi-forum.org/ https://www.mpich.org/ https://www.open-mpi.org/ http://mvapich.cse.ohio-state.edu/ 3) Fortran and MPI - https://www.mpi-forum.org/ https://www.mpich.org/ https://www.open-mpi.org/ http://mvapich.cse.ohio-state.edu/ 4) Coarray Fortran - https://coarrays.sourceforge.io 5) Chapel - https://chapel-lang.org 6) X10 - http://x10-lang.org/ 7) PCJ - https://pcj.icm.edu.pl/ 8) UPC - https://upc.lbl.gov/ 9) Java and MPI - https://www-lb.open-mpi.org/faq/?category=java 10) Legion - https://legion.stanford.edu/starting/index.html 11) XcalableMP and Fortran - https://xcalablemp.org/ 12) XcalableMP and C - https://xcalablemp.org/ 13) Charm++ - http://charmplusplus.org/ 14) Standard Template Adaptive Library - https://parasol-lab.gitlab.io/stapl-home/ 15) HPX - https://hpx.stellar-group.org/