LoginSignup
9
9

More than 5 years have passed since last update.

Parallella で OpenCL

Posted at

漢なら Parallella で OpenCL ですね!

Parallella(epiphany core)用 OpenCL SDK である CORPTHR をインストールして Parallella で OpenCL をたしなみましょう.

インストール

から Parallella build を落とします(ver 1.6.0)

適当に展開してインストールスクリプトを実行して /usr/local/browndeer にインストールします.

$ tar -zxvf coprthr-1.6.0-parallella.tgz
$ sudo sh ./browndeer/scripts/install_coprthr_parallella.sh

.bashrc あたりに

export PATH=$PATH:/usr/local/browndeer/bin
export LD_LIBRARY_PATH=/usr/local/browndeer/lib

としてパスを通します.

$ clcc

としてなにか反応があるのを確認しておきます.

サンプル

Parallella 用のサンプルコードが, tgz を展開した browndeer/examples/parallella にあります.

$ cd browndeer/examples/parallella/hello_stdcl

Makefile の OPENCL_INCS あたりを適当に編集して直しておきます.
(サンプル全部が正しくコンパイルして実行できるようではないようです. 安定するにはもう少し待ちでしょうか)

ビルドして実行してみます.

$ make
$ ./hello_stdcl.x 
coprthr-1.6.0 (Freewill)
[13971] clmesg WARNING: command_queue.c(39): __do_create_command_queue_1: cmdq exists
[13971] clmesg info: cmdsched.c(86): cmdqx1: run
[13971] clmesg WARNING: ocl_enqueue.c(893): clEnqueueNDRangeKernel: ignoring global_work_offset
[13971] clmesg info: sl_engine.c(112): sl_engine_startup: nengines=2
[13971] clmesg WARNING: ocl_flush.c(35): clFlush: warning: unsupported
0 0.000000 0.000000
1 2.200000 3000.800049
2 4.400000 6001.600098
3 6.600000 9002.400391
4 8.800000 12003.200195
5 11.000000 15004.000000
6 13.200001 18004.800781
7 15.400001 21005.601562
8 17.600000 24006.400391
9 19.800001 27007.203125
10 22.000000 30008.000000
11 24.200001 33008.800781
12 26.400002 36009.601562
13 28.600000 39010.398438
14 30.800001 42011.203125
15 33.000000 45012.000000

Voila!

eCore で OpenCL カーネルが動いた瞬間です. 素晴らしいですね.

Happy OpenCL coding!

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9