LoginSignup
2
3

More than 5 years have passed since last update.

ScalaCLを使ってみる

Last updated at Posted at 2013-12-15

はじめに

のサイトをみて、ScalaでOpenCLをいじれるScalaCLというものを知ったので、ちょっといじってみようと思ったが、インストールして簡単なソースをコンパイルするまで、思ったより苦労したのでメモ。

インストール

sbazは存在しません

ScalaCLは、sbaz(というScalaのパッケージマネージャー?)を使うと簡単にインストールできる…ということなのだが、まず、sbazがない!?
もともと、sbazはscalaをインストールすれば一緒にインストールされていたものらしいのだが、現在のバージョンには含まれていないようだ。
参考: http://d.hatena.ne.jp/xuwei/20120418/1334761536

jarを直接取ってくる

仕方がないので、scalaclの.jarファイルを直接ダウンロードしてライブラリフォルダに突っ込む方針に変更。

参考: http://code.google.com/p/scalacl/wiki/Usage#With_Eclipse

http://oss.sonatype.org/content/groups/public/com/nativelibs4java/scalacl-compiler-plugin/0.3-SNAPSHOT/
のサイトから、最新のバージョンをダウンロード。
筆者の場合、scalacl-compiler-plugin-0.3-20120418.092333-17.jarという名前のファイルをダウンロードしました。

そして、これをscalaのライブラリフォルダにコピー。
scalaのインストールにHomebrewを使っている場合は、以下のような感じでコピーする(ほかの環境は知らない)

$ sudo cp scalacl-compiler-plugin-0.3-20120418.092333-17.jar /usr/local/Cellar/scala/2.10.3/libexec/lib/

Scala-IDEの設定

ScalaCLのコンパイルには、Scala-IDEを使うのが比較的楽そうだったのでScala-IDEを使うことにする。
ただし、いくつか設定が必要になる。

Scala-IDE上でScalaCL用のプロジェクトを新規作成したら、
プロジェクトのプロパティを開いて、”Scala Compiler”->”Advanced”タブを開く。
1.”Use Project Settings”にチェックを入れる。
2.Xplugin欄に、scalaclの.jarファイルまでのフルパスを入れる。
3.Xplugin-require欄に、”scalacl”と入れる。

スクリーンショット 2013-12-15 12.41.26.png

試しに、一番最初にあげたサイト(スライド)にあったコードをコンパイルしてみる。

Test.scala
import scalacl._

object ScalaCL {
    implicit val context = Context.best
    (0 until 1000).cl.map(math.cos(_)).sum
}

Scala-IDEの”Run”ボタンを押すと、エラーがでる…orz

エラーに対処する

java.lang.NoClassDefFoundError: scala/tools/nsc/settings/MutableSettings$SettingValue

というエラーがでるのだが、ぐぐると解決法が見つかる。

上記↑のサイトによると、Scala-IDEプラグインをアップデートするといいらしい。ただし、そのときに、”Contract all update sites during install to find required software”のチェックを外してやる必要があるようだ

updateの方法(マックの場合)

Scala-IDE(ようはEclipse)で”Help”->”Install New Software…”を選ぶ。

スクリーンショット 2013-12-15 12.51.50.png

・Work with: 欄の右端の三角▼をクリックして、Scala IDEのサイトを選ぶ。
・“Select All”ボタンを押してすべて選択。
・”Contract all update sites during install to find required software”のチェックを外す。

スクリーンショット 2013-12-15 12.53.39.png

あとは、”Next”ボタンで次の画面にいき”Finish”ボタンでオッケー。

あらためてコンパイル

ここまでで、うまくいえばコンパイルが通るようになっている(はず)。

2
3
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
2
3