TY - JOUR AU1 - Yi, Xinyao AB - Abstract:Parallel computing is a standard approach to achieving high-performance computing (HPC). Three commonly used methods to implement parallel computing include: 1) applying multithreading technology on single-core or multi-core CPUs; 2) incorporating powerful parallel computing devices such as GPUs, FPGAs, and other accelerators; and 3) utilizing special parallel architectures like Single Instruction/Multiple Data (SIMD). Many researchers have made efforts using different parallel technologies, including developing applications, conducting performance analyses, identifying performance bottlenecks, and proposing feasible solutions. However, balancing and optimizing parallel programs remain challenging due to the complexity of parallel algorithms and hardware architectures. Issues such as data transfer between hosts and devices in heterogeneous systems continue to be bottlenecks that limit performance. This work summarizes a vast amount of information on various parallel programming techniques, aiming to present the current state and future development trends of parallel programming, performance issues, and solutions. It seeks to give readers an overall picture and provide background knowledge to support subsequent research. TI - A Study of Performance Programming of CPU, GPU accelerated Computers and SIMD Architecture JF - Computing Research Repository DO - 10.48550/arxiv.2409.10661 DA - 2024-09-16 UR - https://www.deepdyve.com/lp/arxiv-cornell-university/a-study-of-performance-programming-of-cpu-gpu-accelerated-computers-0JsUjzSKvz VL - 2024 IS - 2409 DP - DeepDyve ER -