Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
KM
Uploaded by
Koji Matsuda
23,127 views
「今日から使い切る」ための GNU Parallelによる並列処理入門
東北大学 乾・岡崎研究室で 2016/01/25 に行われた研究会でショートトークを行った際に使用した GNU Parallel のイントロダクションです。
Software
◦
Related topics:
Natural Language Processing
•
Computer Science Basics
•
Read more
23
Save
Share
Embed
Save to Drive
Download now
Downloaded 34 times
1
/ 14
2
/ 14
Most read
3
/ 14
Most read
4
/ 14
5
/ 14
6
/ 14
7
/ 14
8
/ 14
9
/ 14
10
/ 14
11
/ 14
12
/ 14
Most read
13
/ 14
14
/ 14
More Related Content
PPTX
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
by
Kosuke Shinoda
19 slides
3.7K views
PPTX
モデル高速化百選
by
Yusuke Uchida
64 slides
26.7K views
PDF
【メタサーベイ】基盤モデル / Foundation Models
by
cvpaper. challenge
63 slides
20.6K views
PPTX
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
by
Deep Learning JP
17 slides
4.6K views
PPTX
Graph Neural Networks
by
tm1966
76 slides
1.9K views
PDF
グラフニューラルネットワーク入門
by
ryosuke-kojima
65 slides
57.7K views
PDF
機械学習モデルのハイパパラメータ最適化
by
gree_tech
117 slides
29K views
PDF
一般向けのDeep Learning
by
Preferred Networks
28 slides
495.3K views
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
by
Kosuke Shinoda
19 slides
3.7K views
モデル高速化百選
by
Yusuke Uchida
64 slides
26.7K views
【メタサーベイ】基盤モデル / Foundation Models
by
cvpaper. challenge
63 slides
20.6K views
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
by
Deep Learning JP
17 slides
4.6K views
Graph Neural Networks
by
tm1966
76 slides
1.9K views
グラフニューラルネットワーク入門
by
ryosuke-kojima
65 slides
57.7K views
機械学習モデルのハイパパラメータ最適化
by
gree_tech
117 slides
29K views
一般向けのDeep Learning
by
Preferred Networks
28 slides
495.3K views
What's hot
PDF
グラフデータ分析 入門編
by
順也 山口
65 slides
38.8K views
PPTX
ベイズ最適化によるハイパラーパラメータ探索
by
西岡 賢一郎
16 slides
1.1K views
PDF
分散学習のあれこれ~データパラレルからモデルパラレルまで~
by
Hideki Tsunashima
48 slides
5.5K views
PDF
21世紀の手法対決 (MIC vs HSIC)
by
Toru Imai
34 slides
26.5K views
PDF
機械学習モデルの判断根拠の説明
by
Satoshi Hara
110 slides
104.5K views
PDF
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
by
Takateru Yamagishi
37 slides
5.1K views
PPTX
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
by
SSII
44 slides
4.7K views
PDF
AHC-Lab M1勉強会 論文の読み方・書き方
by
Shinagawa Seitaro
65 slides
50.2K views
PDF
Marp Tutorial
by
Rui Watanabe
15 slides
6.1K views
PPTX
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
by
Shota Imai
159 slides
358.3K views
PPTX
【論文紹介】How Powerful are Graph Neural Networks?
by
Masanao Ochi
23 slides
5K views
PPTX
【DL輪読会】ViT + Self Supervised Learningまとめ
by
Deep Learning JP
52 slides
6.8K views
PDF
機械学習チュートリアル@Jubatus Casual Talks
by
Yuya Unno
41 slides
739.6K views
PDF
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
by
Kazuhide Okamura
178 slides
108.8K views
PDF
最近のDeep Learning (NLP) 界隈におけるAttention事情
by
Yuta Kikuchi
76 slides
75.6K views
PDF
研究効率化Tips Ver.2
by
cvpaper. challenge
298 slides
27.9K views
PDF
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
51 slides
55.4K views
PPTX
TVMの次期グラフIR Relayの紹介
by
Takeo Imai
22 slides
5.6K views
PDF
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
23 slides
3.1K views
PDF
ユーザーサイド情報検索システム
by
joisino
28 slides
2K views
グラフデータ分析 入門編
by
順也 山口
65 slides
38.8K views
ベイズ最適化によるハイパラーパラメータ探索
by
西岡 賢一郎
16 slides
1.1K views
分散学習のあれこれ~データパラレルからモデルパラレルまで~
by
Hideki Tsunashima
48 slides
5.5K views
21世紀の手法対決 (MIC vs HSIC)
by
Toru Imai
34 slides
26.5K views
機械学習モデルの判断根拠の説明
by
Satoshi Hara
110 slides
104.5K views
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
by
Takateru Yamagishi
37 slides
5.1K views
SSII2020SS: グラフデータでも深層学習 〜 Graph Neural Networks 入門 〜
by
SSII
44 slides
4.7K views
AHC-Lab M1勉強会 論文の読み方・書き方
by
Shinagawa Seitaro
65 slides
50.2K views
Marp Tutorial
by
Rui Watanabe
15 slides
6.1K views
強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料)
by
Shota Imai
159 slides
358.3K views
【論文紹介】How Powerful are Graph Neural Networks?
by
Masanao Ochi
23 slides
5K views
【DL輪読会】ViT + Self Supervised Learningまとめ
by
Deep Learning JP
52 slides
6.8K views
機械学習チュートリアル@Jubatus Casual Talks
by
Yuya Unno
41 slides
739.6K views
遺伝的アルゴリズム(Genetic Algorithm)を始めよう!
by
Kazuhide Okamura
178 slides
108.8K views
最近のDeep Learning (NLP) 界隈におけるAttention事情
by
Yuta Kikuchi
76 slides
75.6K views
研究効率化Tips Ver.2
by
cvpaper. challenge
298 slides
27.9K views
大規模グラフアルゴリズムの最先端
by
Takuya Akiba
51 slides
55.4K views
TVMの次期グラフIR Relayの紹介
by
Takeo Imai
22 slides
5.6K views
Kaggle Happywhaleコンペ優勝解法でのOptuna使用事例 - 2022/12/10 Optuna Meetup #2
by
Preferred Networks
23 slides
3.1K views
ユーザーサイド情報検索システム
by
joisino
28 slides
2K views
Viewers also liked
KEY
スタート形態素解析
by
tod esking
27 slides
4K views
PDF
研究生のためのC++ no.5
by
Tomohiro Namba
27 slides
449 views
DOCX
Cecibel curimilma blog
by
Cecibel Curimilma
1 slide
251 views
PDF
M3 Imp Unitwise
by
Math Arulselvan
4 slides
415 views
DOCX
Agenda cecibel
by
Cecibel Curimilma
1 slide
169 views
DOCX
Practica n1 ceci
by
Cecibel Curimilma
2 slides
220 views
PDF
Practica funciones (1)
by
Cecibel Curimilma
2 slides
253 views
PDF
Taller Música
by
analabradorcra
1 slide
493 views
PDF
Taller Informática
by
analabradorcra
2 slides
460 views
PDF
Taller Inglés
by
analabradorcra
4 slides
564 views
PPTX
Guía aval 3
by
analabradorcra
78 slides
1.1K views
PPT
Quiz on computing scientists
by
SabahtHussein
14 slides
422 views
PDF
15分でざっくり分かるScala入門
by
SatoYu1ro
23 slides
20.8K views
PDF
Nuevas tecnologías
by
Carolina Cardoso
7 slides
1.4K views
PPTX
知識を紡ぐための言語処理と、そのための言語資源
by
Koji Matsuda
22 slides
6.4K views
PDF
Spiderストレージエンジンのご紹介
by
Kentoku
48 slides
8.3K views
スタート形態素解析
by
tod esking
27 slides
4K views
研究生のためのC++ no.5
by
Tomohiro Namba
27 slides
449 views
Cecibel curimilma blog
by
Cecibel Curimilma
1 slide
251 views
M3 Imp Unitwise
by
Math Arulselvan
4 slides
415 views
Agenda cecibel
by
Cecibel Curimilma
1 slide
169 views
Practica n1 ceci
by
Cecibel Curimilma
2 slides
220 views
Practica funciones (1)
by
Cecibel Curimilma
2 slides
253 views
Taller Música
by
analabradorcra
1 slide
493 views
Taller Informática
by
analabradorcra
2 slides
460 views
Taller Inglés
by
analabradorcra
4 slides
564 views
Guía aval 3
by
analabradorcra
78 slides
1.1K views
Quiz on computing scientists
by
SabahtHussein
14 slides
422 views
15分でざっくり分かるScala入門
by
SatoYu1ro
23 slides
20.8K views
Nuevas tecnologías
by
Carolina Cardoso
7 slides
1.4K views
知識を紡ぐための言語処理と、そのための言語資源
by
Koji Matsuda
22 slides
6.4K views
Spiderストレージエンジンのご紹介
by
Kentoku
48 slides
8.3K views
Similar to 「今日から使い切る」ための GNU Parallelによる並列処理入門
PDF
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
20 slides
16.2K views
PDF
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
by
Keisuke Umeno
23 slides
2K views
PDF
Start Concurrent
by
Akira Takahashi
19 slides
22.8K views
PDF
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
by
Shigeru Hanada
47 slides
8.3K views
PDF
EmbulkのGCS/BigQuery周りのプラグインについて
by
Satoshi Akama
16 slides
6.9K views
PDF
マルチタスクって奥が深い #mishimapm
by
鉄次 尾形
35 slides
8.3K views
Linuxにて複数のコマンドを並列実行(同時実行数の制限付き)
by
Hiro H.
20 slides
16.2K views
分散メモリ環境におけるシェルスクリプトの高速化手法の提案
by
Keisuke Umeno
23 slides
2K views
Start Concurrent
by
Akira Takahashi
19 slides
22.8K views
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
by
Shigeru Hanada
47 slides
8.3K views
EmbulkのGCS/BigQuery周りのプラグインについて
by
Satoshi Akama
16 slides
6.9K views
マルチタスクって奥が深い #mishimapm
by
鉄次 尾形
35 slides
8.3K views
More from Koji Matsuda
PPTX
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
by
Koji Matsuda
21 slides
1.4K views
PPTX
KB + Text => Great KB な論文を多読してみた
by
Koji Matsuda
15 slides
2.5K views
PPTX
Large-Scale Information Extraction from Textual Definitions through Deep Syn...
by
Koji Matsuda
19 slides
1.1K views
PDF
場所参照表現タグ付きコーパスの構築と評価
by
Koji Matsuda
32 slides
2.7K views
PPTX
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
by
Koji Matsuda
26 slides
2.7K views
PDF
いまさら聞けない “モデル” の話 @DSIRNLP#5
by
Koji Matsuda
27 slides
15.3K views
PDF
Practical recommendations for gradient-based training of deep architectures
by
Koji Matsuda
54 slides
54.4K views
PDF
Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...
by
Koji Matsuda
32 slides
10.6K views
PDF
Joint Modeling of a Matrix with Associated Text via Latent Binary Features
by
Koji Matsuda
19 slides
5.1K views
PPTX
Vanishing Component Analysis
by
Koji Matsuda
19 slides
23K views
PDF
A Machine Learning Framework for Programming by Example
by
Koji Matsuda
19 slides
7.5K views
PDF
Information-Theoretic Metric Learning
by
Koji Matsuda
18 slides
18.3K views
PDF
Unified Expectation Maximization
by
Koji Matsuda
23 slides
3K views
PDF
Language Models as Representations for Weakly-Supervised NLP Tasks (CoNLL2011)
by
Koji Matsuda
26 slides
1.1K views
PDF
研究室内PRML勉強会 11章2-4節
by
Koji Matsuda
20 slides
3.4K views
PDF
研究室内PRML勉強会 8章1節
by
Koji Matsuda
22 slides
4.3K views
PDF
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
by
Koji Matsuda
33 slides
847 views
PPTX
Approximate Scalable Bounded Space Sketch for Large Data NLP
by
Koji Matsuda
30 slides
2.1K views
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
by
Koji Matsuda
21 slides
1.4K views
KB + Text => Great KB な論文を多読してみた
by
Koji Matsuda
15 slides
2.5K views
Large-Scale Information Extraction from Textual Definitions through Deep Syn...
by
Koji Matsuda
19 slides
1.1K views
場所参照表現タグ付きコーパスの構築と評価
by
Koji Matsuda
32 slides
2.7K views
Entity linking meets Word Sense Disambiguation: a unified approach(TACL 2014)の紹介
by
Koji Matsuda
26 slides
2.7K views
いまさら聞けない “モデル” の話 @DSIRNLP#5
by
Koji Matsuda
27 slides
15.3K views
Practical recommendations for gradient-based training of deep architectures
by
Koji Matsuda
54 slides
54.4K views
Align, Disambiguate and Walk : A Unified Approach forMeasuring Semantic Simil...
by
Koji Matsuda
32 slides
10.6K views
Joint Modeling of a Matrix with Associated Text via Latent Binary Features
by
Koji Matsuda
19 slides
5.1K views
Vanishing Component Analysis
by
Koji Matsuda
19 slides
23K views
A Machine Learning Framework for Programming by Example
by
Koji Matsuda
19 slides
7.5K views
Information-Theoretic Metric Learning
by
Koji Matsuda
18 slides
18.3K views
Unified Expectation Maximization
by
Koji Matsuda
23 slides
3K views
Language Models as Representations for Weakly-Supervised NLP Tasks (CoNLL2011)
by
Koji Matsuda
26 slides
1.1K views
研究室内PRML勉強会 11章2-4節
by
Koji Matsuda
20 slides
3.4K views
研究室内PRML勉強会 8章1節
by
Koji Matsuda
22 slides
4.3K views
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
by
Koji Matsuda
33 slides
847 views
Approximate Scalable Bounded Space Sketch for Large Data NLP
by
Koji Matsuda
30 slides
2.1K views
「今日から使い切る」ための GNU Parallelによる並列処理入門
1.
「今⽇から使い切る」 ための GNU Parallel による並列処理⼊⾨ Koji
Matsuda 1
2.
並列処理: ビッグデータ時代のリテラシー • 我々が扱うべきデータ量は爆発的に増⼤ – 例)研究室で収集しているツイート:1⽇XXXX 万ツイート(圧縮してXGB)、年間XXX億ツイート •
1CPUの性能向上は年間数⼗%、その代わり、 コア数はドンドン増えてる – 乾・岡崎研はXXXコアくらいあります 「今日から使える」「プログラミング言語非依存な」 並列処理(バカパラ)の方法を共有したい 2 既存のコードを変更しなくて良い
3.
「使い切る」ための 3 赤線:クラスタに搭載されているCPU / 青線:使われているCPU数 2∼3割くらいしか使われていない!!
4.
• 並列実⾏関係の機能が詰まったユーティリティ • 便利なソフトウェアではあるのだが、マニュアル が不親切(※ボリュームがありすぎる) 4 For
people who live life in the parallel lane. http://www.gnu.org/software/parallel/man.html http://www.gnu.org/software/parallel/parallel_tutorial.html インスピレーションを刺激 する例も多くて良いドキュ メントだとは思うのです が・・・ 研究室生活でよく直面するユースケースに限って説明
5.
バカパラの三つのパターン 1. ⼩さなファイルが超⼤量、それぞれに処理 ex. Wikipediaのすべての記事(100万記事) 2.
(1⾏1レコードの)巨⼤なファイル各⾏に処理 ex. ツイートログファイル(1ファイル数GB) 3. パラメータとその組み合わせが⼤量 ex. ディープラーニング • 層数、次元数、初期化、学習率, etc… GNU Parallel でワンストップに対応 5 参考:実際に動くチュートリアルが、 https://bitbucket.org/cl-tohoku/bakapara_tutorial にあります。 乾研の大半のサーバーには GNU Parallel はインストール済なので、すぐ試せるはず
6.
パターン1 処理すべきファイルがいっぱい • ⼤量のファイルに定型的な処理 6 001.txt 001.txt ./orig/ … 300.txt ./processed/ 001.txt 001.txt … 300.txt 何かの処理
7.
パターン1 処理すべきファイルがいっぱい • GNU Parallel
のファイル名置換を使う 7 ls orig/* | parallel –j 10 “mecab < {} > processed/{/}” 意味: orig/ ディレクトリ以下のす べてのファイルに対して並列 で mecab を実行し、 processed/ 以下に出力せよ 処理するファイル のリストを生成 {} がファイル名に 置換される ex. orig/1.txt {/} はファイル名 からディレクトリを 取り除いたもの ex. orig/1.txt => 1.txt 並列数 並列数(-j) 所要時間(s) 1 13.70 3 4.61 5 3.79 10 3.21 表:並列数に対する所要時間の変化 @tequila
8.
パターン2 ⼤きなファイルのすべての⾏に 8 original.txt (100万行) processed.txt (100万行)何かの処理
9.
パターン2 ⼤きなファイルのすべての⾏に • --pipe オプションを使う 9 cat
original.txt | parallel --pipe --L 10000 “hoge.py” > processed.txt original.txt (100万行) original.txt を 1万行づつの「塊」に分解して、それぞ れを並列に hoge.py にパイプで入力せよ。結果を processed.txtにまとめよ。 1万行 hoge.py 1万行 hoge.py 1万行 hoge.py 1万行 hoge.py processed.txt (100万行) 並列実行
10.
パターン2’ ボトルネックの部分を並列化 • --pipe の真髄:パイプラインの⼀部を並列 10 cat
a.txt | hoge.py | fuga.py | piyo.py > b.txt 遅い速い 速い cat a.txt | hoge.py | parallel –pipe –L 100 fuga.py | piyo.py > b.txt ここだけ並列化して ボトルネック解消! (余談) ボトルネックの定量化には pv (pipe-viewer) コマンドが便利
11.
パターン3 試すべきパラメータがいっぱい 11 train.txt 学習率 0.1 0.01 0.001 層数 1 2 3 ユニット 100 200 300 train.py ./log/ lr=0.1_layer=1_u=100.log lr=0.1_layer=1_u=200.log … lr=0.1_layer=3_u=300.log ./model/ lr=0.1_layer=1_u=100.model lr=0.1_layer=1_u=200.model … lr=0.1_layer=3_u=300.model すべての組 み合わせを 試したい
12.
パターン3 試すべきパラメータがいっぱい • GNU Parallel
の 組み合わせ展開( ::: )を使う 12 lr=(0 0.05 0.1 0.5 1.0 5) # 学習率! units=(100 200 300 400) # 隠れ層のユニット数! ! parallel “train.py --lr={1} --units={2} > log/{1}_{2}.txt“ ! "::: ${lr[@]} ::: ${units[@]} これまでfor文の多重ループで書いていた 処理が、たった3行に!!(しかも並列実行) Pythonの string.fmt と似た文法
13.
注意点 / Tips •
気をつけておきたいこと: – time コマンドでこまめに計測 • とくにパイプ並列の場合、早くならないこともある – IO / メモリが重い処理は控えめな並列数で – ⻑時間占有する場合は –nice オプションを – まずは --dry-run オプションをつけて実⾏ • どういうコマンドが実⾏されるか、教えてくれる • Tips – --bar : 進捗状況を表⽰、残り時間の推定 – -S オプション: マシンを跨いだ並列処理 – 並列数は –j オプションで指定、デフォルトではCPU数 13 --bar の例:63%のタスクが終了し、残りは8秒
14.
まとめ • GNU Parallel
を使うことのメリット: – J簡潔に書けて – J柔軟に実⾏できる – J既存のコードとの組み合わせが容易 • GNU Parallel を使うことのデメリット: – Lあまりにも簡単なので、計算機資源の奪い合い が・・? • 是⾮「今⽇から」使ってみてください • 他にもいい使い⽅があったらシェアしてくだ さいJ 14