AVX-512를 활용한 인텔 프로세서에서 행렬 곱셈 연산의 오토튜닝 방법
BLAS는 선형 대수 및 행렬 연산을 수행할 때 널리 사용되는 라이브러리이다. 특히 블럭 연산을 지원하는 level-3 BLAS는 캐시에 올라오는 데이터의 재사용성을 높여 성능을 최대로 얻을 수 있도록 한다. 이를 위해서는 프로세서의 캐시에 맞는 행렬의 블록크기, 루프 언롤링(loop unrolling) 횟수, 프리패칭(prefetching) 거리 등이 최적화 되는 설정값을 찾아내야 한다. 이를 컴퓨터가 자동으로 실행하면서 최적화하는 과정을 오토튜닝이라고 한다. Intel Knights Landing 등 Intel AVX-512를...
Saved in:
Published in | 정보과학회 컴퓨팅의 실제 논문지 Vol. 24; no. 12; pp. 693 - 698 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | Korean |
Published |
Korean Institute of Information Scientists and Engineers
01.12.2018
한국정보과학회 |
Subjects | |
Online Access | Get full text |
ISSN | 2383-6318 2383-6326 |
DOI | 10.5626/KTCP.2018.24.12.693 |
Cover
Summary: | BLAS는 선형 대수 및 행렬 연산을 수행할 때 널리 사용되는 라이브러리이다. 특히 블럭 연산을 지원하는 level-3 BLAS는 캐시에 올라오는 데이터의 재사용성을 높여 성능을 최대로 얻을 수 있도록 한다. 이를 위해서는 프로세서의 캐시에 맞는 행렬의 블록크기, 루프 언롤링(loop unrolling) 횟수, 프리패칭(prefetching) 거리 등이 최적화 되는 설정값을 찾아내야 한다. 이를 컴퓨터가 자동으로 실행하면서 최적화하는 과정을 오토튜닝이라고 한다. Intel Knights Landing 등 Intel AVX-512를 사용하는 최신의 인텔 프로세서들은 BLAS 최적화를 위한 오토튜닝 방법이 거의 연구되어 있지 않으므로, 본 연구에서는 Intel AVX-512를 사용하는 인텔의 아키텍처들에서 level-3 BLAS의 성능을 최대화하기 위한 오토튜닝 방법을 보인다. BLAS is a widely used library for performing linear algebra and matrix operations.
Level-3 BLAS, in particular, supports block operations to maximize performance by increasing the reusability of data in the cache. For a block operation, it is necessary to find optimal values that optimize the block size of the matrix matched to the processor's cache, the number of loop unrolling times, and the prefetching distance. Autotuning means that the computer runs and automatically optimizes its performance. The appropriate autotuning processes for BLAS routines have not studied on the recent Intel processors with AVX-512 such as Intel Knights Landing and Intel Scalable processors. In this study, we have demonstrated an autotuning method to maximize the performance of level-3 BLAS in Intel architectures with Intel AVX-512. KCI Citation Count: 0 |
---|---|
ISSN: | 2383-6318 2383-6326 |
DOI: | 10.5626/KTCP.2018.24.12.693 |