본문 바로가기

false sharing3

Threads and Memory References Ch5, The Art of Writing Efficient Programs Contents Threads and Memory (Data Sharing) Concurrency and Memory Syncrhonization Mutex, Atomic Variables False Sharing 요좀 고성능 컴퓨터는 여러 CPU를 가지거나 여러 CPU 코어를 갖는다. 대부분의 노트북도 최소 2개에서 4개의 코어를 가지고 있다. 성능 측면에서 효율이 높으려면 하드웨어를 유후 상태로 두지 않아야 한다. 많은 CPU 코어 중 하나만 사용하는 것과 같이 전체 하드웨어 성능의 일부만 사용하는 경우에는 프로그램이 효율적이거나 고성능일 수가 없다. 프로그램이 한 번에 둘 이상의 프로세서를 사용하는 방법.. 2024. 1. 25.
[OpenMP] 행렬-벡터 곱 연산 References An Introduction to Parallel Programming Contents Matrix-vector multiplication [MPI] 행렬 - 벡터 곱 연산 + 성능 평가 [pthread] 행렬 - 벡터 곱 연산 (+ 캐시 일관성, 거짓 공유) MPI와 Pthreads에서 구현해본 행렬-벡터 곱 연산과 마찬가지로 OpenMP에서도 행렬-벡터 곱 연산 코드를 작성해봤습니다. void Omp_mat_vec_mul(double A[], double x[], double y[], int m, int n, int thread_count) { double start, finish, temp; start = omp_get_wtime(); #pragma omp parallel for.. 2021. 11. 25.
[pthread] 행렬 - 벡터 곱 연산 (+ 캐시 일관성, 거짓 공유) References An Introduction to Parallel Programming Contents 행렬-벡터 곱 연산 병렬화 Cache, Cache Coherence, False Sharing 이전에 MPI를 통해서 행렬-벡터 곱 연산을 병렬화하고 그 성능을 평가해보았습니다. 2021.11.12 - [프로그래밍/병렬프로그래밍] - [MPI] 행렬 - 벡터 곱 연산 + 성능 평가 [MPI] 행렬 - 벡터 곱 연산 + 성능 평가 References An Introduction of Parallel Programming Contents 행렬 - 벡터 곱 연산 MPI_Allgather MPI_Wtime, MPI_Barrier 이번에는 행렬-벡터 곱 연산을 MPI를 사용하여 병렬화해보도록 하겠습니다. \.. 2021. 11. 16.