Linux-cluster

선형대수 - BLAS, ATLAS, HPL

hongiiv 2006. 7. 5. 19:31
반응형
어디서 가져오긴 가져왔는데 출처를 확실하게 모르겠네요. ^^; 문제되면 알려주세요.

[quote]BLAS (Basic Linear Algebra Subprograms)
선형대수(Linear Algebra) 문제의 해를 효율적으로 구하기 위한 방법의 하나는 Basic Linear Algebra Subprograms(BLAS)를 이용하는 것이다. BLAS는 blocking 기법을 바탕으로 하여 기본적인 vector와 matrix 연산을 수행하는 역할을 한다. BLAS에는 연산의 종류에 따라 Level 1, 2, 3 BLAS로 나뉘어진다. Level 1 BLAS는 vector-vector 연산을 수행하고, Level 2 BLAS 는 matrix-vector 연산, Level 3 BLAS는 matrix-matrix 연산을 하는데 사용되어진다. BLAS는 뛰어난 효율과 우수한 이식성을 바탕으로 LAPACK과 같은 Linear Algebra Software의 개발에 사용되고 있다. 현재 각각의 architecture에 hand-optimized BLAS가 software vendor들에 의해서 만들어져 있다. 그러나 새로운 architecture마다 최적화된 BLAS를 만드는 작업은 시간이 많이 걸릴 뿐만 아니라 금전적인 문제도 가지고 있 다. 이로 인해 Pentium/Linux architecture를 위한 효율적인 matrix multiply를 할 수 있는 BLAS가 아직 만들어지지 않았다. 따라서 오늘날의 다양한 Architecture에서 효율적으로 사용될 수 있는 basic linear algebra routines 를 만들어주는 software가 필요하게 되었다. 이러한 목적을 달성하기 위하여 만든 소프트웨어가 바로 ATLAS(Automatically Tuned Linear Algebra Software)이다.
[/quote]

[quote]ATLAS (Automatically Tuned Linear Algebra Software)
ATLAS는 그 이름에서도 알 수 있듯이 오늘날의 microprocessor에서 고도의 효율성을 달성할 수 있는 basic linear algebra routine을 스스로 만들 수 있는 software이다. 따라서 프로그램의 특성에 따라, 강한 이식성과 architecture의 특성에 맞는 BLAS implementation을 제공하고 있다. 지금도 꾸준히 새로운 버전의 ATLAS가 만들 어지고 있으며, C와 Fortran77 interface를 제공하고 있다. 현재 안정버전은 3.2.1까지, 개발자버전은 3.3.1까지 만들어져 있다. ATLAS 3.2.1에서는 Intel의 SSE와 AMD의 3DNOW를 이용하여 library를 만들고 있으며, ATLAS 3.3.1에서는 Intel 의 SSE, SSE2와 AMD의 3DNOW, 3DNOW2를 각각 이용하도록 되어있다. 따라서 ATLAS 3.2.1을 사용한 Pentium III에서는 단정도 부동소수점(single precision floating point) 연산의 성능이 확연히 좋아지고, ATLAS 3.3.1을 사용한 Pentium4 시스템에서 SSE2 기능을 탐지하여 사용함으로서 배정도 부동소수점(double precision floating point) 연산에서의 성능이 획기적으로 개선되는 것을 확인할 수 있다.
[/quote]

[quote]HPL(High Performance Computing Linpack Benchmarking)
HPL은 distributed-memory 컴퓨터에서 배정도 부동소수점 연산을 수행하여 그 성능을 측정하는 소프트웨어이다. HPL 패키지는 계산하는데 걸린 시간과 얻어진 해의 정확성을 분석하는 역할을 하고, 다양한 변수들을 적용하여 해당 시스템의 최상의 성능을 알아내는 역할을 한다. HPL을 사용하기 위해서는 MPI implementation 과 BLAS implementation을 필요로 한다.
[/quote]
반응형