BLAS 質問・相談スレッド1
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG本家
http://www.netlib.org/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGhttp://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デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG# apt-get install blas
0007デフォルトの名無しさん
NGNGたとえばvcとかbccとか
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNGttp://www.ne.jp/asahi/saver/tmps/Tips/Numeric/Num04/NumTip04.html
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGttp://www.xlsoft.com/jp/products/intel/prices.html
ttp://www.xlsoft.com/jp/products/intel/support/index.html
> 年間サポートサービスを更新しない場合、製品は引き続き使用できますが、
> テクニカル・サポートおよび最新版へのアップグレードはご利用できません
> のでご注意ください。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGCPUを変える。
メモリを増やす。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGmatrixの行と列の入れ方がcとfortranで違うとかで。
やっぱりfortranを使わないといけないってことでしょうか。
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG使える
OSとマシンは何?
002320
NGNG>OSとマシンは何?
Windowsかlinuxでpentiumです。でも後で思ったんですけど
cで行列演算する場合は全部転置行列ということで
blasに渡せばよいということでしょうか。
しかし、戻ってきた行列はやはり行と列が入れ替わっている?
cでその辺どうやっているのか興味あります。
0024デフォルトの名無しさん
NGNGttp://vision.kuee.kyoto-u.ac.jp/~hiroaki/numerical/
お試しあれ
0025デフォルトの名無しさん
NGNGMKLつかってみたら?
0026デフォルトの名無しさん
NGNGCで書く場合、基本的には転置で渡さないと駄目です。
でも大抵のBLAS関数はTRANSAとかTRANSBとかいった「転置にするかどうか」
を指定する引数があるので、これでだませばCスタイルのデータ配列でも
計算できます。 が、ソースを書いてる途中で頭が混乱する可能性が高いです。
帯行列とかだとこういったごまかしが効かないことがあるかも知れませんし。
BLASにATLASを使うなら、CスタイルがFortranスタイルかを明確に指定して
使える関数も用意されているので、頭が混乱すること無く書けると思います。
結局Cで書くとなんだかんだ面倒なので、Fortranで普通に書くか、C++で
クラスラッパーを自作して使うのが良いのではないかと。 一般行列とか
帯行列とかしか使わないのなら、C++の出来合いのクラスライブラリを使う
のが楽チンです。
>>3
を参照。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
05/01/18 19:38:00んなわきゃーない
自分でコンパイルするのが面倒なら
LAPACKのページにあるCLAPACK3-Windows.zipでも落してみれば?
BLASも入っとるぜよ
遅いけどVC++で使えるわね
0031デフォルトの名無しさん
05/01/20 04:39:39これね
0032デフォルトの名無しさん
05/02/10 17:34:03BLASの「Quick Reference Guide」に
> For complex symmetric matrices, TRANSx = `H' is not allowed.
という但し書きがあります。
なぜ複素対称行列に共役転置を指定するのは不可なのでしょうか?
非対称ならいいのか、という点も疑問です。
当方数学オンチのため、自明なことを聞いているかも知れません。
ヒントだけでもいただければ幸いです。よろしくお願いいたします。
0033デフォルトの名無しさん
05/03/03 17:11:490034デフォルトの名無しさん
05/03/16 15:19:220035デフォルトの名無しさん
2005/03/23(水) 17:41:210036デフォルトの名無しさん
2005/03/25(金) 03:43:54お前が使いこなせないだけ
0037デフォルトの名無しさん
2005/05/15(日) 09:43:50gccのバージョンは4.0.0です
0038デフォルトの名無しさん
2005/05/15(日) 10:02:38好きなのを選べ
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:16Cでも普通に使えるようにすればいいのに。
0040デフォルトの名無しさん
2005/05/28(土) 19:35:10FORTRAN使い > C/C++使い
ですからー
0041デフォルトの名無しさん
2005/05/28(土) 21:05:400042デフォルトの名無しさん
2005/05/29(日) 16:17:55ttp://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:37C++から利用したいなら,リンケージを明示するようにcblas.hを変更すべし
004442
2005/05/29(日) 18:24:10したら通ったぁぁぁ……
orz OTL ○| ̄|_
>>43
すっごいありがとうございます.
なんだか悔しい|悲しいのでsage
0045デフォルトの名無しさん
2005/07/22(金) 22:40:35もここでいいの?
0046デフォルトの名無しさん
2005/08/09(火) 13:15:20だけど
行列の大きさを返すには 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:500048デフォルトの名無しさん
2006/01/13(金) 13:58:29│
│ ヽoノ ララン ランララランランラン
│ ヘ)
│↑↑↑↑↑↑↑↑↑↑↑↑↑
││││││││││││││
││││││││││││││
││││││││││││││
││││││││││││││
└┴┴┴┴┴┴┴┴┴┴┴┴┘
0049デフォルトの名無しさん
2006/03/05(日) 22:08:120050デフォルトの名無しさん
2006/03/05(日) 22:59:080051デフォルトの名無しさん
2006/03/24(金) 05:52:470052デフォルトの名無しさん
2006/06/02(金) 08:38:190053デフォルトの名無しさん
2006/10/23(月) 14:02:33Cでつかえるんだから当然使えるでしょ
0054デフォルトの名無しさん
2007/01/04(木) 19:33:14(´・ω・`)
(つ夢と)
`u―u´
0055デフォルトの名無しさん
2007/01/06(土) 20:46:290056デフォルトの名無しさん
2007/03/02(金) 19:48:27いまはTNTの時代でしょ?
0057デフォルトの名無しさん
2007/07/04(水) 03:07:140058デフォルトの名無しさん
2007/07/04(水) 20:29:020059デフォルトの名無しさん
2007/07/06(金) 13:39:210060デフォルトの名無しさん
2007/07/08(日) 15:47:48SUN4SOL2ってどういう意味?
0061デフォルトの名無しさん
2007/07/08(日) 16:16:41make.inc は自分の環境に合わせて書き換えような、って意味だよ。
0062デフォルトの名無しさん
2007/07/08(日) 16:30:050063デフォルトの名無しさん
2007/07/09(月) 01:38:570064デフォルトの名無しさん
2007/09/20(木) 06:25:28調べ方が悪いのか、よく分からないのです・・・
もしかしてMKL使えってことなの?
0065デフォルトの名無しさん
2007/09/20(木) 20:45:310066デフォルトの名無しさん
2007/09/21(金) 01:38:37素直にMKLがいいのでは
GotoBlasなんてものもあるらしいけど
http://jasp.ism.ac.jp/kinou2sg/contents/RTutorial_Goto1211.pdf
0067デフォルトの名無しさん
2007/09/24(月) 01:28:300068デフォルトの名無しさん
2007/09/25(火) 00:54:340069デフォルトの名無しさん
2007/09/25(火) 20:35:28ttp://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トンクス!
お約束も美味しく頂いた!
0071デフォルトの名無しさん
2007/09/27(木) 01:58:02最近のATLASの開発版(unstable)のNoteに
core2対応したとか書いてあった気がする
0072デフォルトの名無しさん
2007/10/07(日) 22:05:330073デフォルトの名無しさん
2008/02/16(土) 04:07:22g++ MyProg.cpp -Lxxxxx -lyyyyy
という感じで、xxxxxとyyyyyを上手く指定したらいいとかじゃないのですか?
0074デフォルトの名無しさん
2008/02/17(日) 21:26:100075デフォルトの名無しさん
2008/04/02(水) 21:25:40make.inc.LINUXとかがないんだけど、みんなコンパイルできてるの?
仕方がないからclapack 3.0使おうと落としたんだけどこっちはなんか
ファイルが壊れてて解凍できないし。
007675
2008/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に変更します。
以上でコンパイル、テストともに通るはずです。本当にありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています