Successfully reported this slideshow.
Your SlideShare is downloading. ×

GDKとLLVM(横浜PF部向け)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Intentの概要
Intentの概要
Loading in …3
×

Check these out next

1 of 54 Ad
Advertisement

More Related Content

Similar to GDKとLLVM(横浜PF部向け) (20)

Advertisement

Recently uploaded (20)

Advertisement

GDKとLLVM(横浜PF部向け)

  1. 1. GDKとLLVM (横浜PF部向け) でむら なりかず Jan 27, 2013
  2. 2. 自己紹介 ● 黄色とげとげの人です (@checkela) – 富山から飛行機に乗ってやって来 ました – 無事に飛んでよかったです(笑) ● コード書いたり、本書いたりし ています – 文章を書く量 < コードを書く量 が今年の目標 Jan 27, 2013
  3. 3. NDK本第2版 数少ないNDK本の一つ。 昨年末に発売になりました 買ってね http://www.amazon.co.jp/gp/product/4798036307 Jan 27, 2013
  4. 4. 日経Linuxに連載中(全3回) 連載開始してます。 全三回だから、気がつくと終わっているかもよ。 早いところ買って読んでね Jan 27, 2013
  5. 5. 宣伝終わり Jan 27, 2013
  6. 6. 横浜Androidプラットフォーム部 改め 横浜Android and モバイルOS プラットフォーム部 Jan 27, 2013
  7. 7. 記念すべき最初の発表 Jan 27, 2013
  8. 8. ゆるめに行きます(笑) ほとんどコード 出てきません Jan 27, 2013
  9. 9. 結論からいうと 「LLVMやっとけ」 Jan 27, 2013
  10. 10. 2012年Android Advent Calendar 向けのエントリー Jan 27, 2013
  11. 11. NDKの後継開発キット-GDK Jan 27, 2013 http://blog.cnu.jp/2012/12/11/android-gdk/
  12. 12. GDKというtoolkitがリ リースされるかも!? GDK使うとこんなメリット あるよ! Jan 27, 2013
  13. 13. 濃いめのエントリー としては 予想以上の反響 Jan 27, 2013
  14. 14. (色々な意味で) 低い方が好きな方々向け におさらい Jan 27, 2013
  15. 15. GDKとは ● NDKの後継開発キット ● キモはgcc → LLVM/clang Jan 27, 2013
  16. 16. LLVM/clang エルエルブイエム クラン(グ) と読みます と読みます Jan 27, 2013
  17. 17. LLVM/clang Jan 27, 2013
  18. 18. LLVM = LowLevelVirtualMachine 低レイヤー向け仮想マシン CPUをVM化したような感じ コンパイル、リンク、ランタイム 全部面倒見るよ! Jan 27, 2013
  19. 19. だいたいの流れ Jan 27, 2013 http://www.aosabook.org/en/llvm.html
  20. 20. LLVMのうれしい点 ● CPUアーキテクチャ、言語から独立 ● ライセンスがBSDライセンス似 – University of Illinois Open Source License ● JIT、AOT、GCがある – 普通のCPUよりスゴイ! Jan 27, 2013
  21. 21. LLVM/clang Jan 27, 2013
  22. 22. Clang = (荒っぽく言うと) gcc互換 フロントエンド Jan 27, 2013
  23. 23. clang=gcc互換のフロントエンド gcc向けのコードが そのままビルド可能 Jan 27, 2013 http://www.aosabook.org/en/llvm.html
  24. 24. LLVMはAndroidで 既に使われているよ! Jan 27, 2013
  25. 25. RenderScript Renderscript provides a platform-independent computation engine that operates at the native level. LLVMが裏で支えているから Jan 27, 2013
  26. 26. 話をGDKに戻して Jan 27, 2013
  27. 27. GDK = NDKの後継開発キット Jan 27, 2013
  28. 28. なぜそう言えるのか? Jan 27, 2013
  29. 29. gdk-buildのコメント gdk関連のコードをビルドするため のコマンド # Ensure we get the full path of this script's directory # this is needed if the caller uses the -C <path> GNU Make # option, as in: # # cd ndk # ./ndk-build -C <project-path> # Jan 27, 2013
  30. 30. どう見てもndk- buildのコピーです。 本当にありが(ry Jan 27, 2013
  31. 31. GDKのメリット Jan 27, 2013
  32. 32. (1) CPUアーキテクチャの 分別が不要 Jan 27, 2013
  33. 33. LLVMがもともとそういう技術だし Jan 27, 2013
  34. 34. (2) コードがシンプルになる Jan 27, 2013
  35. 35. JNIを利用しないから! JNI(NDK)利用時 #include <jni.h> jint Java_com_example_HelloLLVM_addValues( JNIEnv* env,jobject thiz, jint a, jint b ) { return a + b; } GDK利用時 int addValues(int a, int b){ return a+b; Jan 27, 2013 }
  36. 36. (3) ソフトが高速化する (らしい) Jan 27, 2013
  37. 37. gcc vs LLVM ● NDKサンプルPlasmaで検証した例 LLVMでは80 fps, 約4倍の高速化! ● ● GCCでは19 fps. ● Nexus Sにて http://www.kandroid.org/board/data/board/conference/file_in_body/1/610th_kandroidllvmclang.pdf Jan 27, 2013
  38. 38. GDKは本採用となる のか? Jan 27, 2013
  39. 39. 本採用となる気がする 根拠は2つ Jan 27, 2013
  40. 40. (1)Android NDKr8cより Clang3.1をサポート(実験的に) http://developer.android.com/tools/sdk/ndk/index.html Jan 27, 2013
  41. 41. (2) 対Oracleとの裁判対策 最悪の結果を考慮して のリスクヘッジ Jan 27, 2013
  42. 42. Android開発当初は、 そこまで深く考えてな かったんだろうなあ Jan 27, 2013
  43. 43. LLVMの今後 Jan 27, 2013
  44. 44. 割と広がりを見せそうな気配 ● FreeBSDでLLVM ● 組み込みLinuxでLLVM ● LLVMをFPGAで Jan 27, 2013
  45. 45. LLVM対応はBSD系 が先行している Jan 27, 2013
  46. 46. FreeBSD 10-CURRENTより デフォルトコンパライラが LLVM/clangへ移行 http://gihyo.jp/admin/clip/01/fdt/201211/12 Jan 27, 2013
  47. 47. 理由 GPLv3がFreeBSDの 目標と合わない http://unix.stackexchange.com/questions/49906/why-is-freebsd-deprecating- gcc-in-favor-of-clang-llvm http://news.mynavi.jp/articles/2010/05/25/bsdcan01/index.html Jan 27, 2013
  48. 48. Linuxカーネルも LLVM対応は進行中 Jan 27, 2013
  49. 49. Embedded Linux Conference 2013 LLVMLinux: Compiling the Linux Kernel with LLVM Jan 27, 2013
  50. 50. LLVMの ハードウェア化 Jan 27, 2013
  51. 51. LLVMをFPGAへ Jan 27, 2013 http://rssi.ncsa.illinois.edu/proceedings/academic/Lee.pdf
  52. 52. ARMプロセッサ 将来はLLVMに...? Jan 27, 2013 http://www.arm.com/ja/products/processors/instruction-set-architectures/index.php
  53. 53. 基幹技術としてLLVM は押さえておくべき Jan 27, 2013
  54. 54. ご清聴ありがとう ございました Jan 27, 2013

×