SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
HistoPyramid
Stream Compaction
@dasyprocta
関西 GPGPU 勉強会 #2
Outline
● Stream Compaction

● HistoPyramid Algorithm

● Example: Marching Cubes
(c) Jeremy Vandel
       http://www.flickr.com/photos/jeremy_vandel/208714007/



Stream Compaction
Stream Compaction
入力ストリームからいらない要素を取り除く
● Stream Reduction
● Stream Filtering
Sequential Compaction
● 逐次処理によるコンパクション

for (i = 0, j = 0; i < N; ++i) {
    if (input[i] is wanted) {
         output[j] = input[i];
         ++j;
    }
}

* size(input) >= size(output)
Compaction Presence or Absence
● コンパクションなし                  ● コンパクションあり

for (value in input) {       wanted = compaction(input)
    if (value is wanted) {   for (value is wanted) {
        process(value);          process(value);
    }                        }
}
GPU Stream Compaction
● Prefix Sum を利用したコンパクション

                                  Predicate
  0   0   1   0   1   1   1   0


                                  Prefix Sum (exclusive scan)
  0   0   0   1   1   2   3   4

                                  Scatter
Stream Compaction Library
Thrust -> Reordering -> Stream Compaction
●   copy_if
●   remove
●   remove_if
●   unique
●   etc...
Compaction Efficiency
● CPU, GPU 間のデータ転送量の削減

● カーネル実行数の削減

● インアクティブスレッドの抑制
Compaction Efficiency
CPU, GPU 間のデータ転送量の削減

必要なデータのみの転送が可能に
            CPU                   GPU
                        GPUへ転送


                        何らかの処理




                        CPU読み戻し
Compaction Efficiency
カーネル実行数の削減

処理する必要のあるデータのみカーネル割り当て
Compaction Efficiency
インアクティブスレッドの抑制

仕事をしないカーネルの排除

void kernel(input) {
   if (input is unwanted)
        return;

    some works...
}
Performance Trade-off
● コンパクション作成のオーバーヘッド

● コンパクションのためのバッファ増

● データが疎であるほど効果大

● カーネル負荷が高いほど効果大
Stream Compaction Application
● 画像処理

● ボリューム (空間) データ

● ヘテロなストリームの均質化

● etc...
(c) jared
  http://www.flickr.com/photos/generated/1164823755/in/photostream/




HistoPyramid Algorithm
what's HistoPyramid

short for Histogram Pyramid
● ミップマップライクなデータ構造を利用した
  コンパクション手法




On-the-fly Point Clouds through Histogram Pyramids
[Ziegler2006]
Algorithm Outline
1. Preprocess
   入力データから Predicate 値を生成

2. Buildup Phase
   Predicate 値によるピラミッドの構築


3. Traversal Phase
   ピラミッドからのデータ取得
Algorithm Outline
Predicate 値とは?

データの扱い方を決定する値
● value = 0
   棄却する要素
● value = 1
   保持する要素
● value > 1
   複製する要素
Preprocess Phase
入力データを Predicate 値に変換

Example:
  入力データが 1 以下の場合に棄却

    入力データ
           0     8   1   0   4   2   5   0


   Predicate 値
           0     1   0   0   1   1   1   0
Buildup Phase
ピラミッドの構築

ベースレベルからのリダクション
● 加算による畳み込み
                                          4


                              1                       3


                      1           0               2           1


    Predicate 値   0   1   0           0       1           1   1   0
Buildup Phase
ピラミッドデータ構造

● 必要なバッファサイズ (2-1 リダクション)
  ベースレベルサイズ × 2 - 1

● トップレベルの値
  コンパクションされた有効値の数
Buildup Phase
GPU 実装

基本は Parallel Reduction
● 各レベルのバッファを保存する必要あり


カーネル最適化の参考
Optimizing Parallel Reduction in CUDA [Harris]
Traversal Phase
トップレベルからベースレベルへ

トップレベル値範囲のインデックスから
入力データの有効インデックスを取得

{ 0, 1, 2, 3 }                                  4
                              0,1,2,3

                                    1                       3
{ 1, 4, 5, 6 }
                          1             0               2               1


                  0       1     0           0       1           1       1   0
                      1                         4       5           6
Traversal Phase
探索範囲の決定

Example: インデックス 2 を探索
レベル降下時に属する範囲の先頭値を引く

                                      4
       key = 2
                         [0, 1)               [1, 4)
                              1               3
       key = 1   = 2-1
                             [0, 2)                [2, 3)
                                      2           1
       key = 1   = 1-0

                         [0, 1)               [1, 2)
                              1           5   1
Traversal Phase
GPU 実装

インデックス 1 つにカーネルを割り当て
● トップレベル値の数のカーネル起動

ピラミッドが大きくなるほど探索コスト大
Algorithm Optimization
● 4-1 リダクション

● 5-1 リダクション
Algorithm Optimization
トップレベルまでのリダクション回数

● 2 要素を 1 つにまとめる場合
   log2N
● 4 要素を 1 つにまとめる場合
   log4N

データ数 N は底の累乗でなければならない
Algorithm Optimization
4-1 Reduction 1D Pyramid


                                            11




                        1           4            3       3




    0   1   0   0   1       1   1       1    0   1   1   1   1   0   1   1
Algorithm Optimization
4-1 Reduction 2D Pyramid


    0   1   1   1

    0   0   1   1   1   4
                            11
    0   1   1   0   3   3

    1   1   1   1




● ミップマップライク
● テクスチャキャッシュを考慮
Algorithm Optimization
5-1 Reduction

 ● 上位レベル値があれば下位レベル値は1つ必要無い
 ● 少しトリッキー

                          14




             1     4      3      3     ?



GPU-accelerated data expansion for
the Marching Cubes Algorithm [Dyken2010]
Comparison with the Other
Prefix Sum コンパクションとの違い
出力駆動と入力駆動の差
● HistoPyramid                        ● Prefix Sum


  0   0   1   0       1   1   1   0     0   0   1   0   1   1   1   0

          0   1       2   1

              1       3

                  4                     0   0   0   1   1   2   3   4




  頂点値による 4 スレッド                        Scatter による 8 スレッド
(c) jurvetson
              http://www.flickr.com/photos/jurvetson/148925935/



Example, Marching Cubes
Marching Cubes
立方体格子にポリゴンを貼るアルゴリズム




Marching Cubes: A High Resolution 3D Surface
Construction Algorithm [Lorensen1987]
立方体パターン

● 各セルは 0 ~ 5 枚のトライアングルを生成
● 対称等を考慮して全 256 パターン
Marching Cubes
パターンの登録

● セルとの接触判定
● パターンをセルに登録
Marching Cubes
HistoPyramid ベースレベルの生成

● ポリゴンを貼るセル
  Value = 1
● 空のセル
  Value = 0
                 0   0   0   1   1   0   0   0
                 0   0   1   1   1   1   0   0
                 0   1   1   0   1   1   0   0
                 0   1   0   0   1   0   0   0
                 0   1   0   0   1   1   1   1
                 0   1   1   0   0   0   0   1
                 0   0   1   1   1   1   1   1
                 0   0   0   0   0   0   0   0
Marching Cubes
HistoPyramid の構築

 0   0   0   1   1   0   0   0
 0   0   1   1   1   1   0   0
 0   1   1   0   1   1   0   0   0   3   3   0
 0   1   0   0   1   0   0   0   2   1   3   0   6   6
                                                         26
 0   1   0   0   1   1   1   1   2   1   2   3   5   9
 0   1   1   0   0   0   0   1   0   2   2   2
 0   0   1   1   1   1   1   1
 0   0   0   0   0   0   0   0




● 有効セル数の算出
Marching Cubes
HistoPyramid の探索
                                   0   0   0   1   1   0   0   0
入力値: 10                            0   0   1   1   1   1   0   0
                   0   3   3   0   0   1   1   0   1   1   0   0
           6   6   2   1   3   0   0   1   0   0   1   0   0   0
  26
           5   9   2   1   2   3   0   1   0   0   1   1   1   1
                   0   2   2   2   0   1   1   0   0   0   0   1
                                   0   0   1   1   1   1   1   1
                                   0   0   0   0   0   0   0   0
                           参照



                                       入力値から
                                       セルパターンを取得
Marching Cubes
有効セル数を基に描画

頂点バッファ生成 or ジオメトリシェーダー

● 頂点バッファ生成
  1. カーネルで GPU メモリに頂点バッファを生成
  2. 3D API で頂点バッファを描画


● ジオメトリシェーダー
  1. 3D API でポイントリストとしてセルを描画
  2. ジオメトリシェーダーでポリゴンを生成
Marching Cubes
3D API
OpenGL or DirectX
● DrawIndirect 系 API
  GPU メモリのデータを引数にできる

HistoPyramid のトップレベル値を
CPU のリードバック無しで利用可能
Marching Cubes on GPU 参考文献

HistoPyramid を用いた Marching Cubes

High-speed Marching Cubes using Histogram Pyramids
[Dyken2007]

GPU-accelerated data expansion
for the Marching Cubes Algorithm
[Dyken2010]
Exploit the Massive Parallelism!

Weitere ähnliche Inhalte

Was ist angesagt?

MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道sakaik
 
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月sakaik
 
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTx86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTtakesako
 
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介Yoichi Kayama
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編Unity Technologies Japan K.K.
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)Satoshi Yamada
 
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター 【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター Unity Technologies Japan K.K.
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しようUnity Technologies Japan K.K.
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)Satoshi Yamada
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門Hideo Harada
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイドTakahiro Itagaki
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたRyo Sakamoto
 
論文紹介:The wavelet matrix
論文紹介:The wavelet matrix論文紹介:The wavelet matrix
論文紹介:The wavelet matrixYuki Igarashi
 
Pgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdwPgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdwToshi Harada
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoHideo Harada
 

Was ist angesagt? (20)

MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
MySQLに本格GIS機能がやってきた~MySQL8.0最新情報~@OSC2018北海道
 
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月MySQLのGIS機能とか超入門 ~MyNA会2018年7月
MySQLのGIS機能とか超入門 ~MyNA会2018年7月
 
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNTx86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
 
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
QuantumGISを使ったPostgreSQL/PostGIS利用方法紹介
 
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
PostgreSQLの実行計画を読み解こう(OSC2015 Spring/Tokyo)
 
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター 【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
 
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
optimal Ate pairing
optimal Ate pairingoptimal Ate pairing
optimal Ate pairing
 
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)PostgreSQL SQLチューニング入門 実践編(pgcon14j)
PostgreSQL SQLチューニング入門 実践編(pgcon14j)
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
 
問合せ最適化インサイド
問合せ最適化インサイド問合せ最適化インサイド
問合せ最適化インサイド
 
GPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみたGPGPU deいろんな問題解いてみた
GPGPU deいろんな問題解いてみた
 
論文紹介:The wavelet matrix
論文紹介:The wavelet matrix論文紹介:The wavelet matrix
論文紹介:The wavelet matrix
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
Pgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdwPgunconf 20121212-postgeres fdw
Pgunconf 20121212-postgeres fdw
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
 

Ähnlich wie HistoPyramid Stream Compaction

Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
KLab勉強会#6 発表資料
KLab勉強会#6 発表資料KLab勉強会#6 発表資料
KLab勉強会#6 発表資料Suguru Oho
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分けるKazuaki Tanida
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)なおき きしだ
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1信之 岩永
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -Ogushi Masaya
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてHideki Takase
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mclMITSUNARI Shigeo
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)MasanoriSuganuma
 
Operations research yonezawa_no2
Operations research yonezawa_no2Operations research yonezawa_no2
Operations research yonezawa_no2ssuser0bebd2
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスKentaro Yoshida
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ aitc_jp
 
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部NVIDIA Japan
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理keki3
 

Ähnlich wie HistoPyramid Stream Compaction (20)

Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)第11回 配信講義 計算科学技術特論B(2022)
第11回 配信講義 計算科学技術特論B(2022)
 
KLab勉強会#6 発表資料
KLab勉強会#6 発表資料KLab勉強会#6 発表資料
KLab勉強会#6 発表資料
 
画像認識で物を見分ける
画像認識で物を見分ける画像認識で物を見分ける
画像認識で物を見分ける
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)これからのコンピューティングとJava(Hacker Tackle)
これからのコンピューティングとJava(Hacker Tackle)
 
C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1C# 7.2 with .NET Core 2.1
C# 7.2 with .NET Core 2.1
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
 
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl汎用性と高速性を目指したペアリング暗号ライブラリ mcl
汎用性と高速性を目指したペアリング暗号ライブラリ mcl
 
0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)0から理解するニューラルネットアーキテクチャサーチ(NAS)
0から理解するニューラルネットアーキテクチャサーチ(NAS)
 
R-hpc-1 TokyoR#11
R-hpc-1 TokyoR#11R-hpc-1 TokyoR#11
R-hpc-1 TokyoR#11
 
Operations research yonezawa_no2
Operations research yonezawa_no2Operations research yonezawa_no2
Operations research yonezawa_no2
 
Hivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービスHivemallで始める不動産価格推定サービス
Hivemallで始める不動産価格推定サービス
 
Prosym2012
Prosym2012Prosym2012
Prosym2012
 
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~ 2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
2019年7月3日 AITCオープンラボ 量子コンピューティング シリーズ第3回 ~日立製作所様における取り組み紹介~
 
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
2018年度 若手技術者向け講座 大量データの扱い・ストアド・メモリ管理
 

HistoPyramid Stream Compaction