Help us understand the problem. What is going on with this article?

はじめての Parallella

More than 5 years have passed since last update.

漢なら黙って Parallella ですね!

http://www.adapteva.com/parallella-board/

計算コアが tile 型で scalar なのが素敵です. エクサスケール世代では SIMD は難しいかもしれません. scalar コアに期待が高まりますので今のうちに準備しておきましょう.

epiphany.jpg

動かしてみる.

Parallella には ARM コアが付いているので普通に Linaro が動いています. パッケージに添付の micro SD カードに Linaro + Epiphany SDK がプリインストールされているので刺すだけでもう使えるようになっています. なんたるおもてなし力!

残念ながら HDMI 出力は, こちらが持っている HDMI 対応モニタがうまく対応していないようで GUI(画面出力) は出ませんでした. ので図のようにイーサネットを刺してネットワークからリモートログインします.

parallella_eth.jpg

デフォルトでは DHCP でネットワーク接続されますので, 適当に IP を見つけておきます. ID linaro, Password linaro でログイン出来ます.

$ ssh linaro@parallella
linaro@parallella's password: 
Welcome to Linaro 12.11 (GNU/Linux 3.9.0-g6ce672b-dirty armv7l)

 * Documentation:  https://wiki.linaro.org/

New release '12.10' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Wed Feb 19 10:05:10 2014 from xeon.local
linaro-ubuntu-desktop:~>

Cool!

確認してみる

ではキモとなる計算コア(Epiphany)を動かしてみましょう! デフォルトで, 動作検証のために ./test.sh が入っているので動かします.

linaro-ubuntu-desktop:~> ./test.sh 
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)

Matrix: C[512][512] = A[512][512] * B[512][512]

Using 4 x 4 cores

Seed = 0.000000
Loading program on Epiphany chip...
Writing C[1048576B] to address 00200000...
Writing A[1048576B] to address 00000000...
Writing B[1048576B] to address 00100000...
GO Epiphany! ...   Writing the GO!...
Done...
Finished calculating Epiphany result.
Reading result from address 00200000...
Calculating result on Host ...   Finished calculating Host result.
Reading time from address 00300008...

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Verifying result correctness ...   C_epiphany == C_host
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

Epiphany -  time:     158.2 msec  (@ 600 MHz)
Host     -  time:    2116.9 msec  (@ 667 MHz)

* * *   EPIPHANY FTW !!!   * * *
linaro-ubuntu-desktop:~>

Pretty cool!

CPU 1 コア(?) に対し, 計算コア 16 個では 13 倍ほど出ていますね! 素敵です.

Epiphany コア用のクロスコンパイラ e-gcc を起動してみます.

> e-gcc -v
Using built-in specs.
COLLECT_GCC=e-gcc
COLLECT_LTO_WRAPPER=/opt/adapteva/esdk.5.13.07.17/tools/e-gnu.armv7l/bin/../libexec/gcc/epiphany-elf/4.8.1/lto-wrapper
Target: epiphany-elf
Configured with: /home/linaro/srcw/configure --target=epiphany-elf --with-pkgversion='Epiphany toolchain 20120120 (built 20130717)' --with-bugurl='http://forums.parallella.org/viewforum.php?f=13' --enable-fast-install=N/A --enable-languages=c,c++ --prefix=/home/linaro/INSTALL --with-headers=/home/linaro/bld-epiphany/../src/newlib/libc/include --disable-gdbtk
Thread model: single
gcc version 4.8.1 20130513 (prerelease) (Epiphany toolchain 20120120 (built 20130717)) 
linaro-ubuntu-desktop:~/examples/matmul-16>

Cool.

Parallella では flat & global なメモリ空間なので, Epiphany コアと ARM コアとでデータのやりとりがやりやすくなっていますね.

http://forums.parallella.org/viewtopic.php?f=23&t=668

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away