Ben bazı lineer cebir yapmaya başladığımda önce de, Cbu için çok az örnekler bulunuyor görmek için bir sürpriz olarak bana geldi BLAS, LAPACKve diğer temel APIonlar 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 MakeFilebireysel Fortran/FORTRANrutinleri 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ımCC++bash .sh Bu kütüphanelerin bazılarının otomatik derlenmesi için dosyalar.
Ama diğer sorunuza gitmek: BLASve LAPACKdaha APIspesifik değil SDKs. 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 BLASve LAPACK. Bu APIs kullanırken çok garip şeyler görüyorsanız, aslında kütüphaneler ve fonksiyonlar yerine FORTRANrutinleri ç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 uyuyorlarCCATLASOpenBLASBLASLACPACKAPIC/C++sıfırdan (emin değilim!). GPGPU uygulamaları vardır APIkullanarak 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 BLASve LAPACKiçinde Cöğrenmektir FORTRAN-Cilk 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!