研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

GotoBLAS。

2007-10-11 16:02:43 | Weblog
GotoBLAS という強力な BLAS があるので、使用してみた。
make は quickbuild.32bit や quickbuild.64bit があるので、とても簡単に行える。

環境に応じて
./quickbuild.32bit または ./quickbuild.64bit
とすればよい。

すると libgoto.a というライブラリが生成される。

使用する際には、ライブラリのパスや -lgoto -lpthread といったオプションを付けることになるが
毎回コマンドで打つのは少々大変なので、以下のような Makefile を使用すると便利である。


# Makefile
OUTPUTFILE = sample
SOURCES = sample.c
OBJECT = $(SOURCES:.c=.o)

CC = gcc
CFLAGS = -O3 -Wall
LDFLAGS = -L/usr/local/lib -L# ここにライブラリのパスを記述する
LIBS = -lgoto -lpthread

.PHONY: all
all: $(OUTPUTFILE)

$(OUTPUTFILE): $(OBJECT)
  $(CC) $(LDFLAGS) $(OBJECT) $(LIBS) -o $(OUTPUTFILE)

$(OBJECT): $(SOURCES)
  $(CC) $(CFLAGS) -c $(SOURCES)

.PHONY: clean
clean:
rm -f *.o
rm -f $(OUTPUTFILE)