Ben bazı lineer cebir yapmaya başladığımda önce de, C
bu için çok az örnekler bulunuyor görmek için bir sürpriz olarak bana geldi BLAS
, LAPACK
ve diğer temel API
onlar nasılsa diğer birçok kütüphanelerin taşları olmasına rağmen, s. Bu nedenle ben için internet üzerinden tüm bulabildiğim tüm örnekler / öğreticiler toplamaya başladı BLAS
, CBLAS
, LAPACK
, CLAPACK
, LAPACKE
, ATLAS
, OpenBLAS
... lütfen bu Github repo .
Mekanik bir mühendis olarak böyle bir git deposunu veya GitHub'ı yönetme konusunda çok az deneyime sahip olduğum konusunda sizi uyarmalıyım. İlk önce size tam bir karmaşa gibi görünecek. Ancak, dağınık yapıyı aşmayı başarırsanız, yardımcı olabilecek her türlü örneği ve talimatları bulacaksınız. Derlediklerinden emin olmak için çoğunu denedim. Derlemediklerimden bahsetmiştim. Birçoğunu GNU compilers
( gcc
, g++
ve gfortran
) ile derlenebilecek şekilde değiştirdim . Bir programda veya programda MakeFile
bireysel Fortran/FORTRAN
rutinleri nasıl arayabileceğinizi öğrenmek için okuyabileceğiniz şeyler yaptım . Ayrıca mac ve linux için bazı kurulum talimatları koydum (üzgünüm windows çocuklar!). Ayrıca biraz yaptımC
C++
bash
.sh
Bu kütüphanelerin bazılarının otomatik derlenmesi için dosyalar.
Ama diğer sorunuza gitmek: BLAS
ve LAPACK
daha API
spesifik değil SDK
s. Bunlar yalnızca bir uygulama veya kitaplıktan ziyade teknik özelliklerin veya dil uzantılarının bir listesidir. Bu sözlerimle, orjinal uygulama vardır NETLIB içinde FORTRAN 77
çoğu insan bakın (karışıklığa!) Bahsederken BLAS
ve LAPACK
. Bu API
s kullanırken çok garip şeyler görüyorsanız, aslında kütüphaneler ve fonksiyonlar yerine FORTRAN
rutinleri çağırıyor olmanızdır . ve en iyi uygulamaları bazılarıdır ve bildiğim kadarıyla biliyorum. Uygulandıkları bilgilerime rağmen orijinaline uyuyorlarC
C
ATLAS
OpenBLAS
BLAS
LACPACK
API
C/C++
sıfırdan (emin değilim!). GPGPU uygulamaları vardır API
kullanarak s OpenCL
: CLBlast , clBLAS , clMAGMA , ArrayFire ve ViennaCL bazı bahsetmek. Ayrıca, belirli bir donanım veya platform için optimize edilmiş tedarikçiye özgü uygulamalar da vardır, bu da bunları herhangi birini kullanmasını şiddetle tavsiye ederim.
Kullanarak öğrenmek isteyen herkese Benim tavsiye BLAS
ve LAPACK
içinde C
öğrenmektir FORTRAN-C
ilk karma programlama. Söz konusu repo'nun ilk bölümü bu konuya ayrılmıştır ve orada birçok farklı örnek topladım.
PS Ben zaman zaman deponun geliştirici dalı üzerinde çalışıyorum . Biraz daha az dağınık görünüyor!