SlideShare a Scribd company logo
マルチコア時代の
並列プログラミング
1
ES松浦 @matu_ani
「1機のザクは通常の3倍の速度で接近しています!!」
13年9月22日日曜日
自己紹介:社外のボク
2
•翻訳本の監修メンバー
• 『C++の設計と進化』← Amazon 1位!
• 『ストラウストラップのプログラミング入門』
• 雑誌記事『STL.NET』
•sapporo.cpp/boostjp
• 『プログラミングの魔法少女』
• https://sites.google.com/site/sapporocpp/linguamagi
13年9月22日日曜日
僕もまだまだ勉強中です。
勉強仲間募集中です。
お嫁さんも募集中
二十代料理好き尚可
3
13年9月22日日曜日
ねらい
• マルチコア時代、並列プログラミングは
避けては通れない。が、とても難しいで
す。逆に、もしマスターできるなら強み
になる。
•今回は、その難しさとか、背景レベルの
お話しをしますので、問題共有しましょ
う!
4
13年9月22日日曜日
5
導入
13年9月22日日曜日
並列プログラミング
「並列プログラミングって、マルチス
レッドで動いて、共有オブジェクトは
排他する、アレですよね?」
6
13年9月22日日曜日
並列プログラミング
「並列プログラミングって、マルチス
レッドで動いて、共有オブジェクトは
排他する、アレですよね?」
6
あちゃー、地球の重力に縛られたオ
ールドタイプだわ!
13年9月22日日曜日
並列プログラミングとは
•ムーアの法則の終焉(The Free Lunch
is Over)
•マルチコア時代の到来
7
シングルスレッドで動作するプログラムはこれ以
上早くならない。
マルチコアによる真の並列処理を指す。極力排他
しない・待たせないことが重要。
13年9月22日日曜日
ここで有名な
問題など
8
* 画像と本文は何の関係もありません
13年9月22日日曜日
Singleton
9
public static synchronized Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
例:マルチスレッド環境で遅延初期化なシングルトン
13年9月22日日曜日
Singleton
9
public static synchronized Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
ほとんどの場合、無駄に排他される
例:マルチスレッド環境で遅延初期化なシングルトン
13年9月22日日曜日
Double Checked Locking
(以下DCL)
10
public static Singleton getInstance()
{
if (instance == null) // Check 1
{
synchronized(Singleton.class) {
if (instance == null) // Check 2
instance = new Singleton();
}
}
return instance;
}
13年9月22日日曜日
DCLどーよ?
• DCLとは、「ロック→条件判定」というロジックを
「条件判定→ロック→(再度)条件判定」と書き換える
イディオム。
• 主に遅延初期化などの処理においてロックのオーバー
ヘッドを減らすために用いられた。
• ところが! DCLはコンパイラやCPUによるリオーダ
ーの影響等により正しく動作しない場合が
あることがわかったため、今ではアンチパターンと
呼ばれることすらある。
• ただし、現代において、DCLは正しく実装すれば有用であ
る。→ 今回の範囲外
11
13年9月22日日曜日
DCLがなぜだめなのか、
基礎からいこう。
12
* 画像と本文は何の関係もありません
ぐ∼
13年9月22日日曜日
並列プログラミングのキモ
• スレッドやロックが主役ではない
• 「状態(state)」が問題
• 複数スレッドから同時アクセスしてしまう。
• 副作用に依存する逐次処理もまた状態依存
• これらをスレッドセーフにする必要がある
(スレッドセーフでない状態:データレース)
13
13年9月22日日曜日
アトミック(Atomic)
• 不可分のこと
• これ以上処理を分割することができない
• あるいは分割出来ないようにした単位
• アトミックでなければ他のスレッドに割り込まれ、スレッ
ドセーフを保証できない。
• アトミックでない例
14
++count; // 「Read Modify Write」
long long value = 100; // 64bit変数
value = 0; // 32bitレジスタ2つによる実装が許されている
13年9月22日日曜日
リオーダー問題(reoder)
15
シングルスレッドで動く分にはプログラムは書いてある
とおりに動く(ように見える)。
int x,y; // グローバルに
x = 1;
y = 2;
// ここに来とき y==2 && x==1 である
ここには一貫性セマンティクスがある
あたりまえじゃん!
13年9月22日日曜日
16
リオーダー問題(reoder)
// スレッド(1)
x = 1;
y = 2;
// ここに来とき y==2 && x==1 である
// スレッド(2)
y==2 なら、必ず x==1 か?
13年9月22日日曜日
16
リオーダー問題(reoder)
// スレッド(1)
x = 1;
y = 2;
// ここに来とき y==2 && x==1 である
// スレッド(2)
y==2 なら、必ず x==1 か?
そんな保証はどこにもない
→ リオーダーされるから
13年9月22日日曜日
リオーダーって?
• プ ロ グ ラ ム 実 行 速 度 の 向 上 な ど の 目 的 で 実 行 順
序 を 入 れ 替 え る 最 適 化 手 法 の 一 つ
x = 1;
y = 2;
• あるスレッドにとって問題ないなら順番を入れ替えちゃうか
も
• コンパイラがプログラムコードを機械語に変換するとき
• CPUが機械語のコードを実際に実行するとき
• キ ャ ッ シ ュ メ モ リ の 影 響 な ど を 考 慮 し て 命 令 の
実 行 順 序 を 入 れ 替 え る!
17
13年9月22日日曜日
可視性 (Memory Visibility)
18
// スレッド1
read_file(buffer); // でかいデータよむ
read_flag = true;
// スレッド2
while( ! read_flag ); // readが終わるの待つ
write_console(buffer); // 読み取った内容をコンソールに
bool read_flag = false;
これちゃんと動くか?
13年9月22日日曜日
可視性 (Memory Visibility)
18
// スレッド1
read_file(buffer); // でかいデータよむ
read_flag = true;
// スレッド2
while( ! read_flag ); // readが終わるの待つ
write_console(buffer); // 読み取った内容をコンソールに
bool read_flag = false;
これちゃんと動くか?
そんな保証はどこにもない
13年9月22日日曜日
可視性 (Memory Visibility)
18
// スレッド1
read_file(buffer); // でかいデータよむ
read_flag = true;
// スレッド2
while( ! read_flag ); // readが終わるの待つ
write_console(buffer); // 読み取った内容をコンソールに
bool read_flag = false;
これちゃんと動くか?
そんな保証はどこにもない
それどころかスレッド2は永遠にwhile()するかも
13年9月22日日曜日
可視性って
•コンパイラやCPUが、キャッシュメモ
リの利用を最適化する。
•そのため、あるスレッドでのメモリの
見え方が、別のスレッドで同じように
見えるとは限らない。
19
13年9月22日日曜日
キャッシュメモリ
メインメモリ以外に各
CPUがキャッシュメ
モリを持つ。
→ キャッシュメモリ
とメインメモリは常に
同期するわけではない
20
13年9月22日日曜日
マルチコアの世界とは
•他のCPUのやっていることには基本的
に関わらない。
21
13年9月22日日曜日
マルチコアの世界とは
•他のCPUのやっていることには基本的
に関わらない。
21
あるスレッドの一貫性セマンテ
ィクスは、別のスレッドから見
たとき同じではない。
13年9月22日日曜日
でも、今現在ちゃんと動
いてんぞ
22
13年9月22日日曜日
でも、今現在ちゃんと動
いてんぞ
現在我々がロックを使った排他モデルによ
りマルチスレッド・プログラミングする場
合、自動的に以下の恩恵を受けている。
22
13年9月22日日曜日
でも、今現在ちゃんと動
いてんぞ
現在我々がロックを使った排他モデルによ
りマルチスレッド・プログラミングする場
合、自動的に以下の恩恵を受けている。
•ロックによる明示的なアトミック化
22
13年9月22日日曜日
でも、今現在ちゃんと動
いてんぞ
現在我々がロックを使った排他モデルによ
りマルチスレッド・プログラミングする場
合、自動的に以下の恩恵を受けている。
•ロックによる明示的なアトミック化
•メモリバリアによるリオーダー制御、
および、可視性の保証(キャッシュと
メインメモリ同期)
22
13年9月22日日曜日
ロックモデルって
•確かに安全だね。わかりやすいね。
•でも、それって無駄に安全だよね。
• 最適化を妨げる。
•マルチコアを活かしきってないよね。
23
13年9月22日日曜日
24
じゃあ、
DCLに戻るか* 画像と本文は何の関係もありません
ロ∼ラ∼
13年9月22日日曜日
DCL
25
public static Singleton getInstance()
{
if (instance == null) // Check 1
{
synchronized(Singleton.class) {
if (instance == null) // Check 2
instance = new Singleton();
}
}
return instance;
}
13年9月22日日曜日
DCLの問題
26
mem = allocate();
instance = mem; // (*)
ctorSingleton(instance);
instance = new Singleton();
↑これ、いくつかのJITコンパイラは次の
コードを生成する。
(*)の時点で、instanceは未初期化の領域
を指す。→ 負け
13年9月22日日曜日
じゃあこれなら?
27
tmp = new Singleton();
instance = tmp;
13年9月22日日曜日
じゃあこれなら?
27
tmp = new Singleton();
instance = tmp;
結局だめ。コンパイラはtmpなんて一時変数無
しに最適化するかも知んない。
13年9月22日日曜日
じゃあこれなら?
27
tmp = new Singleton();
instance = tmp;
結局だめ。コンパイラはtmpなんて一時変数無
しに最適化するかも知んない。
instance = new Singleton();
// 負け
13年9月22日日曜日
これならいいべ?
28
mem = allocate(); // 1
ctorSingleton(mem); // 2
instance = mem; // 3
あるJITコンパイラが以下のコードを生成
するとしたら?
13年9月22日日曜日
これならいいべ?
28
mem = allocate(); // 1
ctorSingleton(mem); // 2
instance = mem; // 3
あるJITコンパイラが以下のコードを生成
するとしたら?
だめ。リオーダーされるかも。→ 負け
13年9月22日日曜日
これならいいべ?
28
mem = allocate(); // 1
ctorSingleton(mem); // 2
instance = mem; // 3
あるJITコンパイラが以下のコードを生成
するとしたら?
だめ。リオーダーされるかも。→ 負け
mem = allocate(); // 1
instance = mem; // 3
ctorSingleton(mem); // 2
13年9月22日日曜日
ひとまず、まとめ
• マルチコアの世界を正しく理解する必要があ
る。
• 思い込みいくない(あるスレッドの逐次性が他のスレッ
ドからも同じように見えるなどと考えてはいけない)。
• 並列プログラミングをサポートする標準API
やライブラリを使う。
• 心配なら普通にロックモデルを採用しよう。
29
13年9月22日日曜日
Java/C++
• リオーダーを細かく制御するメモリバリア
API
• アトミック性を提供するデータ型やキーワ
ード
• JavaやC++では様々なAPIが提供される。
• ゼロ・オーバーヘッド原則のC++はとんでもないことやってます(超むず)
30
13年9月22日日曜日
様々な並列道具
•Java concurrentパッケージ
•Java 8 Fork/Join Framework
• concurrentパッケージ 拡張。Parallel系、lambda
•C++11 Atomic operations library
•C#4.0 Parallel.For
31
13年9月22日日曜日
並列いろいろ
• Lock-freeアルゴリズム・データ構造
• SIMD (Single Instruction Multiple Data)
• GPGPU
• アクターモデル(ScalaのActor、Cocoaの
Operation Queue)
• OpenMP、PPL(Parallel Pattern Library)
• STM(Software Transactional Memory)
32
13年9月22日日曜日
最後に、関数型言語
• そもそもの問題は「状態」だ。
• 状態(副作用)を持たない関数型言語は、
並列プログラミングとの相性がよい。
• Haskell、Erlang、Ocaml、Scala、F#、
• C#、C++、...
33
13年9月22日日曜日
最後に、関数型言語
• そもそもの問題は「状態」だ。
• 状態(副作用)を持たない関数型言語は、
並列プログラミングとの相性がよい。
• Haskell、Erlang、Ocaml、Scala、F#、
• C#、C++、...
33
マルチコアな現代、
関数型言語が注目されている!
13年9月22日日曜日
おつかれさまでした!
34
13年9月22日日曜日

More Related Content

What's hot

中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
 
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
Shinya Takebayashi
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
 
計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~
Norishige Fukushima
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
Eita Sugimoto
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
Fixstars Corporation
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
sonickun
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
murachue
 

What's hot (20)

中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~計算スケジューリングの効果~もし,Halideがなかったら?~
計算スケジューリングの効果~もし,Halideがなかったら?~
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 

Similar to マルチコア時代の並列プログラミング

JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??
Toshio Ehara
 
130329 perl casual_ruik
130329 perl casual_ruik130329 perl casual_ruik
130329 perl casual_ruik
Rui Kimura
 
プログラミング学習のための学習
プログラミング学習のための学習プログラミング学習のための学習
プログラミング学習のための学習siranon *
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
Uehara Junji
 
Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Uehara Junji
 
Gorilla.vim#6
Gorilla.vim#6Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
 

Similar to マルチコア時代の並列プログラミング (9)

Objectie-C de ラムダ
Objectie-C de ラムダObjectie-C de ラムダ
Objectie-C de ラムダ
 
JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??JavaScriptのテストコード 一緒に勉強しませんか??
JavaScriptのテストコード 一緒に勉強しませんか??
 
130329 perl casual_ruik
130329 perl casual_ruik130329 perl casual_ruik
130329 perl casual_ruik
 
プログラミング学習のための学習
プログラミング学習のための学習プログラミング学習のための学習
プログラミング学習のための学習
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)Read Groovy Compile process(Groovy Benkyoukai 2013)
Read Groovy Compile process(Groovy Benkyoukai 2013)
 
Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309Groovy kisobenkyoukai20130309
Groovy kisobenkyoukai20130309
 
Code injectiontool
Code injectiontoolCode injectiontool
Code injectiontool
 
Gorilla.vim#6
Gorilla.vim#6Gorilla.vim#6
Gorilla.vim#6
 

More from Akihiko Matuura

最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
Akihiko Matuura
 
アーキテクチャパターンの紹介
アーキテクチャパターンの紹介アーキテクチャパターンの紹介
アーキテクチャパターンの紹介
Akihiko Matuura
 
Go 言語を語ってみるか
Go 言語を語ってみるかGo 言語を語ってみるか
Go 言語を語ってみるか
Akihiko Matuura
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会Akihiko Matuura
 

More from Akihiko Matuura (6)

最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)最新C++事情 C++14-C++20 (2018年10月)
最新C++事情 C++14-C++20 (2018年10月)
 
アーキテクチャパターンの紹介
アーキテクチャパターンの紹介アーキテクチャパターンの紹介
アーキテクチャパターンの紹介
 
Go 言語を語ってみるか
Go 言語を語ってみるかGo 言語を語ってみるか
Go 言語を語ってみるか
 
boost and c++11
boost and c++11boost and c++11
boost and c++11
 
C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会C++ Template Meta Programming の紹介@社内勉強会
C++ Template Meta Programming の紹介@社内勉強会
 
Open Business Model
Open Business ModelOpen Business Model
Open Business Model
 

Recently uploaded

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 

マルチコア時代の並列プログラミング