トップページ⇒tech
76コメント19KB

BLAS 質問・相談スレッド1

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
BLAS(Basic Linear Algebra Subprograms)質問・相談スレッドです

本家
http://www.netlib.org/
0002デフォルトの名無しさんNGNG
2get, zuzaa
0003デフォルトの名無しさんNGNG
リンク集

http://www.netlib.org/blas/
http://www.kudpc.kyoto-u.ac.jp/Computer/Spp/explanation/blas_lapack_sclpack.html
http://www.cc.kyushu-u.ac.jp/scp/system/library/LAPACK/LAPACK.html
http://phase.hpcc.jp/phase/lapack-j/LAPACK3.0/lapack3.0_howto.html
http://cpplapack.sourceforge.net/doc/main_page/Japanese.html
http://ks.ms.u-tokyo.ac.jp/~kyn/lapack.html
http://www.mit.msn.to/matrix/multi.html
http://hermes.esys.tsukuba.ac.jp/~kurusu/libraries.html
http://s.ke.shinshu-u.ac.jp/~atsushi/Docs/Lapackpp.php3
http://math.nist.gov/tnt/
http://lapackpp.sourceforge.net/







0004デフォルトの名無しさんNGNG
Nullpoget 4samaNyullpo---------------!
0005デフォルトの名無しさんNGNG
インストール方法を教えてください
0006デフォルトの名無しさんNGNG
>>5
# apt-get install blas
0007デフォルトの名無しさんNGNG
Windows環境でも使えますか?
たとえばvcとかbccとか
0008デフォルトの名無しさんNGNG
M・K・L! M・K・L!
0009デフォルトの名無しさんNGNG
この辺のATLASとか
ttp://www.ne.jp/asahi/saver/tmps/Tips/Numeric/Num04/NumTip04.html
0010デフォルトの名無しさんNGNG
MKLは良さそうだけど、毎年更新しなくちゃいけないの?
0011デフォルトの名無しさんNGNG
>>10
ttp://www.xlsoft.com/jp/products/intel/prices.html
ttp://www.xlsoft.com/jp/products/intel/support/index.html
> 年間サポートサービスを更新しない場合、製品は引き続き使用できますが、
> テクニカル・サポートおよび最新版へのアップグレードはご利用できません
> のでご注意ください。
0012デフォルトの名無しさんNGNG
最強の数値計算ライブラリって何よ?
0013デフォルトの名無しさんNGNG
DGEMM を高速化したいんだけどどうしたらいい?
0014デフォルトの名無しさんNGNG
>>13
CPUを変える。
メモリを増やす。
0015デフォルトの名無しさんNGNG
mklの話題もここでいいのでしょうか?
0016デフォルトの名無しさんNGNG
LAPACKの話題もここでいいのでしょうか?
0017デフォルトの名無しさんNGNG
0018デフォルトの名無しさんNGNG
行列の固有値の求め方を教えてください
0019デフォルトの名無しさんNGNG
ACMLってどうなんでしょう?
0020デフォルトの名無しさんNGNG
これってcとかc++からも使えるんでしょうか。
matrixの行と列の入れ方がcとfortranで違うとかで。
やっぱりfortranを使わないといけないってことでしょうか。
0021デフォルトの名無しさんNGNG
どんくらい速いのかベンチマークない?
0022デフォルトの名無しさんNGNG
>>20
使える
OSとマシンは何?
002320NGNG
>使える
>OSとマシンは何?
Windowsかlinuxでpentiumです。でも後で思ったんですけど
cで行列演算する場合は全部転置行列ということで
blasに渡せばよいということでしょうか。
しかし、戻ってきた行列はやはり行と列が入れ替わっている?
cでその辺どうやっているのか興味あります。
0024デフォルトの名無しさんNGNG
liboctaveなかなか良い
ttp://vision.kuee.kyoto-u.ac.jp/~hiroaki/numerical/
お試しあれ
0025デフォルトの名無しさんNGNG
>>23
MKLつかってみたら?
0026デフォルトの名無しさんNGNG
>>23
Cで書く場合、基本的には転置で渡さないと駄目です。
でも大抵のBLAS関数はTRANSAとかTRANSBとかいった「転置にするかどうか」
を指定する引数があるので、これでだませばCスタイルのデータ配列でも
計算できます。 が、ソースを書いてる途中で頭が混乱する可能性が高いです。
帯行列とかだとこういったごまかしが効かないことがあるかも知れませんし。
BLASにATLASを使うなら、CスタイルがFortranスタイルかを明確に指定して
使える関数も用意されているので、頭が混乱すること無く書けると思います。

結局Cで書くとなんだかんだ面倒なので、Fortranで普通に書くか、C++で
クラスラッパーを自作して使うのが良いのではないかと。 一般行列とか
帯行列とかしか使わないのなら、C++の出来合いのクラスライブラリを使う
のが楽チンです。
>>3
を参照。
0027デフォルトの名無しさんNGNG
よい参考書を教えてください
0028デフォルトの名無しさんNGNG
付属のリファレンスマニュアルだけで十分だと思われ。
0029デフォルトの名無しさんNGNG
Winにはインストールできない?
0030デフォルトの名無しさん05/01/18 19:38:00
>>29
んなわきゃーない

自分でコンパイルするのが面倒なら
LAPACKのページにあるCLAPACK3-Windows.zipでも落してみれば?
BLASも入っとるぜよ
遅いけどVC++で使えるわね
0031デフォルトの名無しさん05/01/20 04:39:39
http://www.netlib.org/clapack/CLAPACK3-Windows.zip
これね
0032デフォルトの名無しさん05/02/10 17:34:03
どなたか分かる方がいたら教えてください。
BLASの「Quick Reference Guide」に
> For complex symmetric matrices, TRANSx = `H' is not allowed.
という但し書きがあります。
なぜ複素対称行列に共役転置を指定するのは不可なのでしょうか?
非対称ならいいのか、という点も疑問です。
当方数学オンチのため、自明なことを聞いているかも知れません。
ヒントだけでもいただければ幸いです。よろしくお願いいたします。
0033デフォルトの名無しさん05/03/03 17:11:49
☞
0034デフォルトの名無しさん05/03/16 15:19:22
blasよりもよいやつはありますか?
0035デフォルトの名無しさん2005/03/23(水) 17:41:21
需要もないのに思いつきでスレ立てるなと
0036デフォルトの名無しさん2005/03/25(金) 03:43:54
>>35
お前が使いこなせないだけ
0037デフォルトの名無しさん2005/05/15(日) 09:43:50
blasをgccで使うにはgccの他に何をダウンロードすればよいのでしょうか?
gccのバージョンは4.0.0です
0038デフォルトの名無しさん2005/05/15(日) 10:02:38
>>37
好きなのを選べ
ttp://www.netlib.org/blas/index.html
ttp://www.netlib.org/lapack/index.html
ttp://developer.intel.com/software/products/mkl/noncom.htm
0039デフォルトの名無しさん2005/05/28(土) 18:52:16
LAPACKにしろBLASにしろいい加減スクラッチして
Cでも普通に使えるようにすればいいのに。
0040デフォルトの名無しさん2005/05/28(土) 19:35:10
この分野では
 FORTRAN使い > C/C++使い
ですからー
0041デフォルトの名無しさん2005/05/28(土) 21:05:40
んなわけない。
0042デフォルトの名無しさん2005/05/29(日) 16:17:55
.NET2003でBLASが使いたくて,
ttp://www.ne.jp/asahi/saver/tmps/Tips/Numeric/Num04/NumTip04.html
ttp://www.alab.t.u-tokyo.ac.jp/~bond/doc/clapack.html
このあたりを参考にして色々いじっています.

ttp://www.ne.jp/asahi/saver/tmps/Tips/Numeric/Num04/NumTip04.html
はGSLからATLAS BLASを使うことを目的にしているようですが,
とりあえず参考にしてatlas.lib atlas.dllを作成しました.
cygwinのほうで展開したblasのincludeディレクトリを参照できるようにして,
自分のプログラムからとりあえずsaxpyでも呼んでみるかと思ったんですが,
いざ組んでみたら
hoge.obj : error LNK2019: 未解決の外部シンボル "void __cdecl cblas_saxpy(int,float,float const *,int,float *,int)" (?cblas_saxpy@@YAXHMPBMHPAMH@Z) が関数 _main で参照されました。
となってしまいました.
作成したlibは全部リンクしてあります.atlas.dllをインポートライブラリに指定しても無駄でした.
何をどうすれいいのでしょうか?

以下実験ソースコード
#include <cblas.h>
#pragma comment(lib, "atlas.lib")
#pragma comment(lib, "libatlas.lib")
#pragma hogehoge......

float x[4];float y[4];

int main()
{
for(int i=0; i<4; i++){x[i]= 1.0f;y[i]= 1.0f;}
cblas_saxpy(4, 1.0, x, 1, y, 1);
return 0;
}
0043デフォルトの名無しさん2005/05/29(日) 17:27:37
CBLASってCリンケージなんじゃねぇの?
C++から利用したいなら,リンケージを明示するようにcblas.hを変更すべし
0044422005/05/29(日) 18:24:10
extern "C"
したら通ったぁぁぁ……

orz OTL ○| ̄|_

>>43
すっごいありがとうございます.


なんだか悔しい|悲しいのでsage
0045デフォルトの名無しさん2005/07/22(金) 22:40:35
boost:numerics:ublas
もここでいいの?
0046デフォルトの名無しさん2005/08/09(火) 13:15:20
boost::numerics::ublas::c_matrix<float,N,M>::value_type = float
だけど
行列の大きさを返すには N= size1() ,M=size2()
しかないの?

typedef boost::numerics::ublas::c_matrix<float,N,M> matrix_type;
template <matrix_type::N matrix_type::M>
class myMat{....
}
ってことがしたい.けれど
templateの変数としてsize1() ,size2()を使えないから困ってる
0047デフォルトの名無しさん2005/11/09(水) 00:26:50
boostのblasは本家の物と基本的に同じですか?
0048デフォルトの名無しさん2006/01/13(金) 13:58:29
│
│
│       ヽoノ ララン ランララランランラン
│       ヘ)
│↑↑↑↑↑↑↑↑↑↑↑↑↑
││││││││││││││
││││││││││││││
││││││││││││││
││││││││││││││
└┴┴┴┴┴┴┴┴┴┴┴┴┘
0049デフォルトの名無しさん2006/03/05(日) 22:08:12
保守
0050デフォルトの名無しさん2006/03/05(日) 22:59:08
http://www.nytimes.com/2005/11/28/technology/28super.html
0051デフォルトの名無しさん2006/03/24(金) 05:52:47
_/>o
0052デフォルトの名無しさん2006/06/02(金) 08:38:19
blasはC++で使えるのでしょうか?
0053デフォルトの名無しさん2006/10/23(月) 14:02:33
>>52
Cでつかえるんだから当然使えるでしょ
0054デフォルトの名無しさん2007/01/04(木) 19:33:14
         .∧__,,∧ 
        (´・ω・`) 
         (つ夢と) 
         `u―u´
0055デフォルトの名無しさん2007/01/06(土) 20:46:29
CLAPACK version 3.1 マダー?
0056デフォルトの名無しさん2007/03/02(金) 19:48:27
Blasはもう時代遅れ何じゃないの?
いまはTNTの時代でしょ?
0057デフォルトの名無しさん2007/07/04(水) 03:07:14
boostのuBlasを使ってみたけど、blasって本当に基本的なことしかできないのね・・・
0058デフォルトの名無しさん2007/07/04(水) 20:29:02
まあそりゃ Basic Linear ALgebraic Subprograms ですから
0059デフォルトの名無しさん2007/07/06(金) 13:39:21
誰か、cublas試してないかな。
0060デフォルトの名無しさん2007/07/08(日) 15:47:48
clapackをコンパイルしたらlapack_SUN4SOL2.aと言うファイルができたのだが
SUN4SOL2ってどういう意味?

0061デフォルトの名無しさん2007/07/08(日) 16:16:41
>>60
make.inc は自分の環境に合わせて書き換えような、って意味だよ。
0062デフォルトの名無しさん2007/07/08(日) 16:30:05
SPARC マシンで Solaris を使ってるなら問題ナッシング
0063デフォルトの名無しさん2007/07/09(月) 01:38:57
つーか今時CLAPACKをコンパイルって、liblapack.*を使えない環境の人なのか?
0064デフォルトの名無しさん2007/09/20(木) 06:25:28
core2duoとかcore2extremeのCPUに最適化されたBLASはありますか?
調べ方が悪いのか、よく分からないのです・・・
もしかしてMKL使えってことなの?
0065デフォルトの名無しさん2007/09/20(木) 20:45:31
MKLが嫌ならACML使え
0066デフォルトの名無しさん2007/09/21(金) 01:38:37
ACMLはAMD系だろ
素直にMKLがいいのでは
GotoBlasなんてものもあるらしいけど
http://jasp.ism.ac.jp/kinou2sg/contents/RTutorial_Goto1211.pdf
0067デフォルトの名無しさん2007/09/24(月) 01:28:30
MKL 10.0 Beta キタコレ
0068デフォルトの名無しさん2007/09/25(火) 00:54:34
ソースは?
0069デフォルトの名無しさん2007/09/25(火) 20:35:28
>>68
ttp://www.bulldog.co.jp/products/home/syouhin18.html
ttp://www.otafuku.co.jp/column/sauce/sa_01a.htm
ttp://softwarecommunity.intel.com/isn/Community/en-US/forums/thread/30241012.aspx
0070デフォルトの名無しさん2007/09/26(水) 01:31:28
>>69
トンクス!
お約束も美味しく頂いた!
0071デフォルトの名無しさん2007/09/27(木) 01:58:02
>>64
最近のATLASの開発版(unstable)のNoteに
core2対応したとか書いてあった気がする
0072デフォルトの名無しさん2007/10/07(日) 22:05:33
gotoblas使ってみたらMKLより1割くらい速かったyo
0073デフォルトの名無しさん2008/02/16(土) 04:07:22
atlasをコンパイルしてインストールしたけど、自分のプログラムからどうやって利用したらいいのかよくわかりません。
g++ MyProg.cpp -Lxxxxx -lyyyyy
という感じで、xxxxxとyyyyyを上手く指定したらいいとかじゃないのですか?
0074デフォルトの名無しさん2008/02/17(日) 21:26:10
どこに入れたのか知らんが、xxxxxとyyyyyを上手く指定して下さい。
0075デフォルトの名無しさん2008/04/02(水) 21:25:40
clapack 3.1.1のインストールガイドに
make.inc.LINUXとかがないんだけど、みんなコンパイルできてるの?
仕方がないからclapack 3.0使おうと落としたんだけどこっちはなんか
ファイルが壊れてて解凍できないし。
0076752008/04/03(木) 16:55:59
解決できたので詳細を報告します。
環境はcygwin、gcc 3.4.4(cygming special)です。
clapack 3.1.1にはmake.inc.LINUXが欠けているので
clapack 3.0付属のmake.inc.LINUXを参考に書き直しました。
clapack 3.0はnetlibの方にあがっているファイルは壊れているようなので
ttp://phase.hpcc.jp/mirrors/netlib/clapack/
↑の日本のミラーサイトから持ってきました。
3.0のmake.inc.LINUXを参考に3.1.1のmake.inc.sampleを次のように書き換え、それをmake.incとします。
1.「SHELL = /bin/sh」を追加
2.「CC = gcc -ffloat-store」に変更。-ffloat-storeオプションをつけないとclapackのテストに通りません。
(詳細 ttp://icl.cs.utk.edu/lapack-forum/archives/lapack/msg00429.html)
3.「CFLAGS = -funroll-all-loops -O3」に変更
4.「LOADOPTS = $(CFLAGS)」に変更
5.「NOOPT = 」に変更(NOOPTは空にする)
cygwinのgccのデフォルトの出力ファイル名はa.exeになっているため、
F2CLIBS\libf2c\Makefileの186行目と187行目のa.outをa.exeに変更します。
以上でコンパイル、テストともに通るはずです。本当にありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています