本当は怖いHPC

HPC屋の趣味&実益ブログ

ChainerMN入門以前

この記事は,Chainer Advent Calendar 2017の13日目の記事です. ChainerMNの入門については別途記事を書こうかと思っていますが, 今回は「入門以前」について書いてみたいと思います.誰が/何を目的としてChainerMNを導入すべきか, 導入に際して何が必要…

Travis CIのテストをローカルで走らせる

Travis CIは、Githubリポジトリにあるコードの継続的インテグレーションをサポートしてくれるツールです。 公開リポジトリであれば無料で利用できるため、プロジェクトで利用されていると思います。 .travis.yml というファイルをリポジトリに置くことによっ…

HPDC'17

HPDC'17が開催されています(私は参加していません)。 Programを眺めた感じ、個人的には以下の論文が面白そうです。 “CuMF_SGD: Parallelized Stochastic Gradient Descent for Matrix Factorization on GPUs” Xie, Tan, Fong, Liang LetGo: A Lightweight …

MPI環境の切り替えをするmpienvというツールを作った

背景 多くの場合、スパコンやクラスタ上には複数のMPIがインストールされています。ユーザーは、これらを適切に切り替えて使わなければなりません。普通のユーザーであれば、普段使うMPIは一種類で固定であるケースが多いので、.bashrc等の設定ファイルに設…

Raspberry Pi3 Model Bを買った

ちょっと前から興味があったので、Raspberry Pi3 Model B を購入しました。 Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab出版社/メーカー: TechShareメディア: エレクトロニクスこの商品を含む…

数値微分(Juliaで)

Juliaで数値微分を書いてみます。 数値微分の基本 数値微分は、直感的には微小幅 について関数の値を計算して差分を取れば、それが勾配になります。しかし、数学的にもう少しちゃんと根拠が示されています。 まず、微分を求めたい1変数関数を 、点をとしま…

Juliaの16進浮動小数点リテラル

Julia言語のチュートリアルを見ていて、16進浮動小数点リテラルなるものが存在するのを知りました[1]。書式としては、 先頭に0xをつける(通常の16進リテラルと同じ) 指数部の記号として p を使う ただし、指数の底は2 ということで、例を見てみると julia>…

最近の気になったニュース 2017/03/06

プロセッサ関係 Ryzen続報 NVIDIA GeForce GTX 1080 Ti発表 機械学習/AI関係 その他 AWS S3 の大規模ダウン プロセッサ関係 Ryzen続報 AMDのRyzen CPUの続報がいろいろ出ています。 RyzenをHPCで使おうとしたベンチマーク - Qiita 【レビュー】AMD「Ryzen 7…

最近の気になったニュース 2017/02/27

プロセッサ関係 AMDのRyzen 7 CPUのベンチマークが公表,出荷間近 HPC関係 スパコンのメモリ構成の将来 AI・機械学習関係 Tensorflow 1.0 リリース Allreduce操作をカスタマイズしてDLを高速化 その他 プロセッサ関係 AMDのRyzen 7 CPUのベンチマークが公表…

気になったHPC・AI関係のニュース 2017/02/20

HPC関係 Tokyo Tech's TSUBAME3.0 Will Be First HPE-SGI Super 一番のニュースは,東工大のTSUBAME3.0スパコンの受注者と詳細スペックが決まったというニュースでしょう.受注者はHPE(Hewlett Packard Enterprise)で,厳密には日本法人のSGI Japanとなっ…

気になったHPC・AI関係のニュース 2017/02/12

最近忙しさにかまけて情報収集がおろそかだなあと思ったところ、インプットのためにはアウトプットをするのが良しと言われるので気になったニュースをまとめて記事にすることにしました。ブログもしばらく放置状態だったので一石二鳥で。 プロセッサ関係 【…

「知的能力は父ではなく母から受け継がれる」というトンデモ記事について

研究者ではない心理学系メディアの記事が、転載に次ぐ転載を経て「米国の専門家の新しい発見によると~」 となって世間を震撼(?)させるまでの過程を追いかけました ※ 私は生物学・遺伝学・心理学の専門知識はありません。素人です。あしからず。 発端 発生…

ドイツに旅行に行ってきたので鉄道の乗り方をまとめました

先日、旅行でドイツに行ってきました。普段のブログの趣旨とは違いますが、せっかくなので自分用のメモがてら役に立つと思われる情報をまとめておきたいと思います。 今回は、ドイツの鉄道についてです。 ドイツの鉄道の構成 列車の種類 ユーレイルパス・ジ…

Linux上での計算系プログラムの性能計測のための知識とツールまとめ

アプリケーションの性能最適化ツール等のまとめとリンク集です.随時更新していきたいと思っています. 私の専門分野の関係上,計算をガリガリするプログラムを対象としたものが多く,通信やWebサーバーのチューニング系は少なめです. TL;DR(時間のない人…

std::tupleとstd::tieを使って複数の配列を一緒にソートする(配列の構造体 SoA のソート)

c++

互いに関連付けられた複数の配列を一緒にソートしたい場合があります. // SoAの例 std::vector<int> student_ids; std::vector<std::string> names; std::vector<int> math_scores; // AoSの例 struct Student { int id; std::string name; int math_score }; 専門的には,SoA(Str</int></std::string></int>…

2016/07/16 時点 Intel Xeon Phi の新製品Knights Landingについてのリンク集

hpc

自分用のリンク集です. Knights Landingの出荷が始まっているようです.前世代のKnights Cornerで問題となったリングバスは取り除かれ,メッシュネットワークで置き換えられているようなので,性能評価が出てくるのが楽しみです Intelのオフィシャルページ…

「三菱UFJ銀、独自の仮想通貨を開発中」というニュースについて

www.asahi.com 三菱東京UFJ銀行が,「仮想通貨」を発行するというニュースが出ていました. この件に関しては,現時点では新聞報道があるのみで,三菱東京UFJ銀行から公式の発表はありません.ちょっと感想を書きたいと思います. 「仮想通貨」としてのMUFG…

読書感想文:「コンテナ物語」モノの流れを通して世界を変えたコンテナリゼーション

コンテナ物語作者: マルクレビンソン出版社/メーカー: 日経BP社発売日: 2013/09/10メディア: Kindle版この商品を含むブログ (4件) を見る この「コンテナ物語」は,現代では当たり前になった「コンテナ輸送」がどのように開発され広まったのかという歴史を記…

mpirunとmpiexecの違いは何か

MPIプログラムを起動する方法として,mpirunとmpiexecがあります.プログラムを普通に起動するだけなら,どちらのコマンドでも困ることはありません.実行するノードとプロセス数の指定をする程度なら,どの実装のどちらのコマンドを使っても大差ないからで…

関数プログラミング入門・一人読書会 (4)

「関数プログラミング入門」の練習問題をやっていきます 今回は1.5.1〜1.5.2 1.5.1 フィボナッチ数を計算する関数fibを定義する fib :: Integer -> Integer fib n | n < 0 = error "fib: n must be >= 0" | n == 0 = 0 | n == 1 = 1 | otherwise = fib (n - …

関数プログラミング入門・一人読書会 (3)

「関数プログラミング入門」の練習問題をやっていきます 関数プログラミング入門 ―Haskellで学ぶ原理と技法―作者: Richard Bird,山下伸夫出版社/メーカー: オーム社発売日: 2012/10/26メディア: 単行本(ソフトカバー)購入: 3人 クリック: 28回この商品を含…

関数プログラミング入門・一人読書会 (2)

前回,読み始めたというエントリを書いて,その後音沙汰無い状態になってしまっていたのだが,実は本を紛失していて止まっていた. 関数プログラミング入門 ―Haskellで学ぶ原理と技法―作者: Richard Bird,山下伸夫出版社/メーカー: オーム社発売日: 2012/10/…

「ビットコインはどのようにして動いているのか? 」を読んだ

大石哲之 著「ビットコインはどのようにして動いているのか? 」を読みました 計算機科学の素養のない人にもわかるようにビットコイン(と仮想通貨)の原理が説明されています.すでに計算機科学の基礎知識(P2P,ハッシュ関数,公開鍵暗号方式)があれば,…

DAGベース分散処理プラットフォームOnyxの紹介

この記事は Clojure Advent Calendar 2015 - Qiita の12月22日の記事です(微妙に遅刻しましたすんません) データを関数で変換しながら次々に処理していくことを考えましょう。関数を頂点、頂点同士の処理の順番と依存関係を辺とするグラフ構造を用いて処理…

Clojure記事紹介<百日修行>(6):「Java/Javascriptから移行する人のためのClojureライブラリ」

Clojure記事紹介<百日修行>では、英文で書かれたClojureの記事を要約してひたすら紹介していきます。モットーは「質より量」です。 紹介記事 Clojure landscape from Java perspective レベル:初級〜上級 紹介されているライブラリ:たくさん 概要 JavaとJa…

Clojure記事紹介<百日修行>(5):「よりわかりやすいClojureを書く」

Clojure記事紹介<百日修行>では、英文で書かれたClojureの記事を要約してひたすら紹介していきます。モットーは「質より量」です。 紹介記事 Writing Friendlier Clojure 他の言語と同様、Clojureにおいても、気づいたらわかりにくいプログラムを書いてしま…

Clojure記事紹介<百日修行>(4):「PulsarでActorプログラミング」

Clojure記事紹介<百日修行>では、英文で書かれたClojureの記事を要約してひたすら紹介していきます。モットーは「質より量」です。 紹介記事 レベル:中級 Pulsarを用いた、Actorモデルを使った並行プログラミングの紹介記事です。 取り上げられているライブ…

Clojure記事紹介<百日修行>(3):「ログの基本」

Clojure記事紹介<百日修行>では、英文で書かれたClojureの記事を要約してひたすら紹介していきます。モットーは「質より量」です。 紹介記事 Clojure in Production: Logging レベル:初級〜中級 この記事では、「Clojure in production」シリーズとして、ロ…

Clojure記事紹介百日修行(2):「Soundcloud.comにおける大規模環境でのClojure利用」

blog.josephwilk.net https://soundcloud.com というサイトではClojureが使われているようで、そこでの利用方法に関する記事がありました。 要約: 大規模なシステムでは、複数の外部/内部サービスに依存するのは良くあること。このとき問題となるのは、 複…

Clojure記事紹介百日修行(1):「MetabaseがPythonからClojureに移行した理由」

medium.com Metabaseというオープンソースのソフトウェアが、PythonからClojureへ移行した際に、Clojureを言語として選定した理由が 記述されていました。要約して紹介します Pythonで書かれたものから移行した理由 Metabaseの前進となった社内ソフトウェア…

【広告】