전에 있지만, 그것은 그들이 초석이 든 사실에도 불구하고, BLAS
, LAPACK
및 기타 기본적인 API
들에 대한 그래서 몇 가지 자습서가 볼 수있는 놀라운 나에게왔다 다른 많은 도서관의 그런 이유로 나는 BLAS
, CBLAS
, LAPACK
, CLAPACK
, LAPACKE
, ATLAS
, OpenBLAS
더 ... this Github repo 모든 인터넷을 통해 찾을 수있는 모든 예제/자습서를 수집하기 시작했다.
글쎄, 나는 기계 공학자로서 그런 repo 또는 github을 관리하는데 거의 경험이 없다는 것을 경고해야합니다. 그것은 처음에는 너희들에게 완전한 혼란으로 보일 것이다. 그러나 지저분한 구조를 극복 할 수 있다면 모든 종류의 예제와 지침이 도움이 될 것입니다. 필자는 컴파일을 확실히하기 위해 노력했지만 컴파일하지 않은 것은 내가 언급했다.나는 많은 것들을 GNU compilers
(gcc
, g++
그리고 gfortran
)으로 편집 할 수 있도록 수정했다. 나는 을 작성하여 C
또는 C++
프로그램의 개별 Fortran/FORTRAN
루틴을 호출하는 방법을 학습 할 수 있습니다. 나는 또한 맥과 리눅스 (미안 윈도우즈!)에 대한 몇 가지 설치 지침을 넣어. 또한 일부 라이브러리의 자동 컴파일을 위해 bash
.sh
개의 파일을 만들었습니다. 및 LAPACK
은 다소 API
이 아닌 SDK
입니다. 다른 질문으로 이동하십시오. BLAS
및 LAPACK
은 API
이 아닌 SDK
입니다. 그것들은 구현이나 라이브러리 라기보다는 사양 또는 언어 확장 목록 일뿐입니다. 그렇다면 Netlib의 원래 구현은 BLAS
과 LAPACK
일 때 대부분의 사람들이 참조하는 (혼란스럽게도!) FORTRAN 77
입니다. 따라서 API
을 사용할 때 이상한 일들이 많이 발생한다면 C
라이브러리와 함수가 아닌 C
에 실제로 FORTRAN
루틴을 호출했기 때문입니다. ATLAS
및 OpenBLAS
은 내가 알고있는 한 BLAS
및 LACPACK
의 가장 좋은 구현 중 일부입니다. 원래 API
에 부합하지만, 내 지식으로는 처음부터 C/C++
에 구현되었습니다 (확실하지 않습니다!). 또한 특정 하드웨어 나 플랫폼에 최적화 된 벤더 특정 구현이 있으므로 누구나 사용을 강력히 권유합니다.
C
에 BLAS
및 LAPACK
를 사용하여 배우고 싶은 사람에게 나의 추천 먼저 FORTRAN-C
혼합 프로그래밍을 배우는 것입니다. 언급 된 repo의 첫 번째 장은이 문제에 전념하고 있으며 여러 가지 다른 예를 수집했습니다.
또한보십시오 http://scicomp.stackexchange.com/questions/8052/what-is-the-relationship-of-blas-lapack-and-other-linear-algebra- libraries –