Flynn's classic taxonomy
Heterogeneous computing
Shared memory model
Distributed memory model
Hybrid model
Flynn's classic taxonomy
Heterogeneous computing
Shared memory model
Distributed memory model
Hybrid model
Higher performance: save larger problem
Better resource utilization: taking advantage of multi-core processors
Harder to program
Harder to debug
Not all problem can be parallelized efficiency ( dependency )
Flynn's classic taxonomy
Heterogeneous computing
Shared memory model
Distributed memory model
Hybrid model
Flynn's classic taxonomy
Heterogeneous computing
DSP (digital signal processor)
FPGA (field-programmable gate array)
ASIC (application-specific integrated circuit)
GPU (graphics processing unit)
Co-processor (Intel Xeon Phi)
Flynn's classic taxonomy
Heterogeneous computing
Shared memory model
Distributed memory model
Hybrid model
Shared memory model
Distributed memory model
Hybrid model
MPI + pthread/OpenMP
Implement parallelism with MPI libraries among nodes
Implement parallelism with pthread/OpenMP libraries within each node