Explore tens of thousands of sets crafted by our community.
Parallel Programming Libraries
15
Flashcards
0/15
OpenCL (Open Computing Language)
Primary Use: Heterogeneous computing. Key Functions: Kernel execution, memory management, command queues.
CUDA (Compute Unified Device Architecture)
Primary Use: General-purpose computing on GPUs. Key Functions: Kernel launches, memory management, device synchronization.
Pthreads (POSIX threads)
Primary Use: Thread creation and synchronization in a POSIX environment. Key Functions: pthread_create, pthread_join, mutexes.
UPC (Unified Parallel C)
Primary Use: Partitioned global address space programming. Key Functions: Shared variables, one-sided communication, distributed arrays.
Kokkos
Primary Use: Performance portability in HPC. Key Functions: Abstractions for parallel execution and data management, multidimensional array, execution spaces.
MPI (Message Passing Interface)
Primary Use: Communication among processes. Key Functions: MPI_Send, MPI_Recv, MPI_Bcast.
StarPU
Primary Use: Heterogeneous multicore machines. Key Functions: Task scheduling, data management, performance modeling.
Thrust
Primary Use: Parallel algorithms and data structures. Key Functions: transform, sort, reduce.
OpenACC
Primary Use: Directive-based programming for accelerators. Key Functions: compute constructs, data clauses, parallel loops.
Cilk Plus
Primary Use: Task parallelism and vectorization. Key Functions: Cilk_for, reducers, array notations.
TBB (Threading Building Blocks)
Primary Use: Dynamic parallelism. Key Functions: Parallel loops, concurrent containers, task scheduler.
OpenMP (Open Multi-Processing)
Primary Use: Shared memory multiprocessing. Key Functions: #pragma omp parallel, reduction, critical.
Chapel
Primary Use: Parallel programming at scale. Key Functions: Locale-aware computing, forall loops, coforall loops.
HPX (High Performance ParalleX)
Primary Use: Asynchronous parallelism. Key Functions: Futures and promises, parallel algorithms, global address space.
RAJA
Primary Use: Abstraction for loop-based computations. Key Functions: Portable loop nest kernels, lambda expressions, index set segments.
© Hypatia.Tech. 2024 All rights reserved.