theme | size | paginate | marp |
---|---|---|---|
gaia |
4k |
true |
true |
PARALLEL COMPUTING MODULE π― 3 CFU
- Parallel Algorithms
- C
- Message Passing Interface (MPI)
- Cloud Computing, Infrastructure as a Service (IaaS)
- Amazon Web Services (AWS) - Elastic Computing 2 (EC2)
You should be comfortable programming in C, and have good knowledge of undergraduate level algorithms, data structures, and computer architecture. No knowledge of parallel computing is required.
We can talk (asynchronously) on the Discord ISISLab Community or you can schedule an online meeting (synchronously).
- Introduction and Practice on Amazon AWS
- Models and architectures for parallel computing
- Metrics for evaluating parallel computing
- Algorithms for shared memory
- Design of parallel algorithms
- Message Passing Interface (MPI)
- MPI Labs on Amazon AWS
This course will teach practical aspects of parallel computing. You will be able to effectively use parallel machines (eventually on the Cloud).
- π Kai Hwang, Jack Dongarra, and Geoffrey C. Fox. 2011. Distributed and Cloud Computing: From Parallel Processing to the Internet of Things (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
- π Czech, Z. (2017). Introduction to Parallel Computing. Cambridge: Cambridge University Press.
- π Have fun with MPI in C - An interactive online book for learning MPI in C by examples available on Tech.io.
- π And more support material will be provided during the course.
#include <stdio.h>
#include <mpi.h>
#include <string.h>
static const char NERD[5] = {0xF0, 0x9F, 0xA4, 0x93, '\0'};
static const char WORLD[5] = {0xF0, 0x9F, 0x8C, 0x8D, '\0'};
static const char SLEEP[5] = { 0xF0, 0x9F, 0x98, 0xB4, '\0'};
#define π€ {MPI_Init(NULL, NULL); int world_rank; MPI_Comm_rank(MPI_COMM_WORLD,&world_rank);printf("I am %s rank %d ",NERD, world_rank);}
#define π ({int s; MPI_Comm_size(MPI_COMM_WORLD, &s); printf("of MPI %s of size %d ", WORLD, s);});
#define π΄ {printf("Goodbye %s\n",SLEEP);MPI_Finalize();return 0;}
#define P(x) printf(x)
#define I P("\a");
#define am P("\a");
#define the P("\a");
#define with P("\a");
#define rank P("\a");
#define size P("\a");
#define π€ {P("\a");};
#define of P("\a");
#define MPI P("\a");
#define Goodbye P("\a");
int main()
{
I am the π€ with rank π€ of MPI π of size π€ Goodbye π΄;
}
- 5οΈβ£ Programming Assignments (for training)
- 1οΈβ£ Homework (programming project)
- How to have a successful homework evaluation?
- π Correctness
- π Style
- π― Problem evaluation and Benchmarks on Amazon AWS
- π₯ Class Participation
- How to have a successful homework evaluation?
- The last "dance" of your course
- π Homework Discussion
-
Discord ISISLab Community
-
GitHub.com
- GitHub issues. Please use it for sharing ideas and issues on both theoretical and practical course modules
- Homework submission
- Report your work in Markdown
$PCPC: Parallel
$git commit -m
"Here! Are you ready to be speedup your programs? Questions?"
$git push origin master
echo 'Thank your attention!'
Thank your attention!
β¬οΈ Download this slide
https://gist.github.com/spagnuolocarmine/pcpc-presentation-mpi.md