본문 바로가기

matrix multiplication3

CUDA의 메모리 Access와 Type (예제 : matrix multiplication) References Programming Massively Parallel Processors Contents 메모리 액세스 효율 (compute-to-global-memory-access) Matrix Multiplication 예제 CUDA Device 메모리 타입(Memory Types) 지난 포스팅들을 통해서 CUDA 커널 함수를 작성하는 방법과 어떻게 많은 수의 스레드들의 작업 수행을 구성하고 조정하는지에 대해 알아봤습니다. CUDA 프로그래밍 기초 (예제 : vector addition) CUDA Thread 구조와 Data Mapping (예제 : 이미지 흑백, Blur 처리) CUDA Programming Model CUDA Thread 동기화 및 스케쥴링 / 리소스 할당 이번 포스팅에서는.. 2021. 12. 5.
행렬 곱 연산 비교 2 (OpenBLAS, Intel MKL, cuBLAS) Contents OpenBLAS (cblas) 라이브러리를 사용한 행렬 곱 연산 intel-mkl을 사용한 행렬 곱 연산 cuBLAS 라이브러리를 사용한 행렬 곱 연산 행렬 곱 연산 비교 (Pthreads, OpenMP, OpenCV, CUDA) 행렬 곱 연산 비교 (Pthreads, OpenMP, OpenCV, CUDA) Contents Pthread, OpenMP에서의 행렬 곱 연산 + 전치 행렬(transpose matrix) 사용 OpenCV library mat을 사용한 행렬 곱 연산 CUDA libarary로 구현한 행렬 곱 연산 Matrix Multiplication 이번 포스팅에서는 행.. junstar92.tistory.com 이전 게시글에서 여러 병렬 프로그래밍을 위한 라이브러리를 사용.. 2021. 11. 27.
행렬 곱 연산 비교 (Pthreads, OpenMP, OpenCV, CUDA) Contents Pthread, OpenMP에서의 행렬 곱 연산 + 전치 행렬(transpose matrix) 사용 OpenCV library mat을 사용한 행렬 곱 연산 CUDA libarary로 구현한 행렬 곱 연산 Matrix Multiplication 이번 포스팅에서는 행렬 곱 연산을 여러 방법으로 구현하고, 그 성능을 비교해볼 예정입니다. WSL2 - ubuntu 20.04 환경에서 실행했으며, 사용한 라이브러리는 4 종류(Pthreads, OpenMP, OpenCV, CUDA)를 사용하여 행렬 곱 연산을 구현해보았습니다. 행렬 곱셈을 위해서 캐논 알고리즘과 같은 특별한 알고리즘은 사용하지 않습니다. pthread와 OpenMP에서의 행렬 곱은 3중 for문으로 구현되어 있는데, 캐시 미스에 .. 2021. 11. 26.