Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
僕のTwitterをご覧になっている方はご存知かもしれませんが、ワケあって、前職を辞めて、今年の九月から株式会社PEZY Computingで働いております。 どういう会社なのかよく知らない人も多いと思いますので、簡単に説明しますと、超メニーコアのプロセッサを作っていて、それを搭載するボードとか、それを液浸冷却するシステムとかを作る関連会社があったりして、スパコンとして仕立て上げたりしているような、そんな会社です。なんか積層メモリ作ってる関連会社もあるみたいです。えっ、そんな会社が日本にあるの?って思われるかもしれませんが、実在している会社ですし、実際にモノもできているからたぶん本当にあります。 僕がPEZYのことを初めて知ったのはちょうど去年の今頃の、「いろいろ」あってつらい状況にあるときでした。その時に@nushioさんがすごく心配してくれて、誕生日やらなにやらを祝ってくれたりしたので
筆者のブログ「5号館のつぶやき」 Mendeley に出会って興奮しながら使っている時の様子が「生々しく」記されている。 2010年の春のことだったと思います。Mendeley というフリーの文献(引用)管理ソフトに出会い、ものすごい衝撃を受け、しばらくはそれにどっぷりと浸かる日々が続いていたのですが、いつの間にか使わなくなってしまいました。その原因は、調子に乗って Mendeley に論文の pdf ファイルを登録し続けて、ある日1ギガバイトを越えてしまったところで、Mendeley からフリーではこれ以上使い続けることはできないというメッセージをもらってしまったからです。もちろん、そこで有料のコースに変更して使い続けることもできたのですが、いくら安価だと言っても使うかどうかの決断をする前に有料のコースを選択するという勇気もなく、結局そのまま放置するということになってしまいました。しかし
メール メッセージを表します。 注釈 CreateItem メソッドを使用して、新しいメール メッセージを表す MailItem オブジェクトを作成します。 Folder.Items プロパティを使用して、フォルダー内のメール アイテムを表す Items コレクションと Items.Item (index) メソッドを取得します。ここで、index はメール メッセージのインデックス番号、またはメッセージの既定のプロパティと一致するために使用される値を使用して、指定したフォルダーから 1 つの MailItem オブジェクトを返します。 例 次の Visual Basic for Applications (VBA) の例では、新しいメール メッセージを作成および表示します。 Sub CreateMail() Dim myItem As Object Set myItem = Applic
はじめに ここでは、いまさら聞けないSubversionの使い方について述べる。タグやブランチなどしっかりと使いこなそうとすると、色々と覚えなければいけないSubversionだが、実は、もっとも使うコマンドは、指で数えるくらいしかない。ここでは、その基本的なコマンドを紹介した後、時々必要になるタグ作り、ブランチ作り、エクスポートなどの各種コマンドのリマインダについてまとめる。 なお、ここでは、Unix, Linuxベースのシステムで、subversionをコマンドラインベースに使う方法を紹介する。Windowsで使う方法は紹介しないので、別のページを探してほしい。 Subversionとは 以下、Wikipediaから抜粋 Apache Subversion(アパッチ・サブバージョン SVN)はプログラムのソースコードなどを管理する集中型バージョン管理システムの一つである。元々は、Col
またまた見送られることに Why Concepts didn’t make C++17 C++2aにおいて三度コンセプトが採択されました。最新の情報はyohhoyさんの下記ブログを参照して下さい。 次期C++2a(C++20)標準仕様に向けて採択された コンセプト(concept) について というわけで以下は過去の記事です…(´・_・`) TL;DR if ( 英語が読める && Conceptを知っている ) { 私が参考にしたバージョンは2015/02/09の物です (現在も更新乃至修正があります最新版はこちら) } else { これからのC++erの必修科目 これをスルーするのはスマートポインタを知らない自称C++er並にヤバイ「かもしれない」 } 導入(妄想なので飛ばしてください) これまでC++は「銃床にナイフの生えたアサルトライフル」と例えられてきたし、 C++で有名なTe
この記事は、「ElixirからRustの関数をつかう → はやい」の続編だ。今回は、前回の記事で最速だった Rust によるマルチスレッドプログラムを、少ない労力で SIMD 化して、さらなる高速化を図る。 実はコード自体は少し前に書いてあったのだが、なかなか本文を書き進める時間がとれず、今回は、駆け足で説明することになってしまった。説明不足な点があると思うので、疑問とか、試してみたけどうまくいかないとかあれば、コメント欄で質問してほしい。 前回やったこと 前回 の記事では、Elixir から Rust の関数を呼ぶことで、円周率の近似値を求める計算を高速化した。計算方法は「数値積分法の長方形近似」という、とても素朴な方法だった。 これを選んだのは次のような理由だった。 実装が非常に簡単 計算が適度に重い マルチコア CPU を活かしたプログラムを書きやすい 以下の段取りで、計算にかかった
#はじめに MPIを使って並列処理をする際に必要な準備やコマンド、ホストファイルの書き方を勉強したので、ここにざっとメモっときます。 以下の説明ではCentOS7で実行する場合を想定しています。 (追記: 2/22) ホストファイルの書き方の説明を一部修正しました。 (プロセス割り当ての設定の書き方が、MPICHとOpenMPIとで違っていました) #MPIとは MPI (Message Passing Interface) は、並列コンピューティングを利用するための標準化された規格のことです。 並列処理には共有メモリ型と分散メモリ型の2通りの処理形態がありますが、MPIは分散メモリ型の並列処理を行います。 (共有メモリ型の並列処理を行うものにはOpenMPなどがあります) MPIの主な実装としてはMPICH (エムピッチ) とOpenMPI (オープンエムピーアイ) などがありますが、基
MPIとは Message Passing Interfaceを略してMPI 詳しいことはこちら Wikipedia:MPI 複数のCPUが情報をバイト列からなるメッセージとして送受信することで協調動作を行えるようにする。 簡単に言えば、C,C++,Fortranで複数マシンでの分散処理などに必要なライブラリをサポートしたもの。よく例として上がるのが、行列と行列の掛け算や、積分、モンテカルロ法などの数値計算系の分散処理。 しかし、MPI規格をサポートしているライブラリが複数あるうえに、少し前の200X年代にブームが来たためか、文献が古く、言っていることが若干バラバラな印象。 OpenMPI MPICH2 違い 大きな違いは見られない。作成拠点が異なる。 OpenMPIインストール root権限ユーザで、/usr/local下でプログラムをダウンロード # su # cd /usr/loca
目次 >> MPI MPI(Message Passing Interface) このページでは、MPI(http://www-unix.mcs.anl.gov/mpi/)について解説する。 MPIとは MPIとは、複数の計算機で並列に計算させて、演算の高速化を図る手法である。1台のコンピュータでも可能ではあるが、通常は複数台のコンピュータをネットワークでつないだ構成を取る。1台の場合は、OpenMPなど別の方法も検討してみるとよい。 MPIはほかの並列か方法と比べて、大規模な並列化に向いているが、その一方で、実行するには特別な方法でプログラムを起動させてやる必要があるなど、少々敷居が高い。 OpenMPIとMPICHがあるが、どちらもメジャーなので好きな方を使えばよい。 OpenMPIのインストール $ sudo apt-get install openmpi-bin openmpi-d
ssh-keygen -R hostname は ~/.ssh/known_hosts から対象ホストのホストキーを削除してくれる。 複数あれば全部消してくれるしハッシュ化されてるのもされてないのも全部消してくれるので便利。 known_hostsファイルをエディタで開いてエラーメッセージで指摘された行数まで移動して手で削除するのなんかより100倍楽。 ssh-keyscan は対象ホストのホストキー一覧を取得するコマンド。 無言で実行できるから一旦手動でssh試みてプロンプトでyesとかするより使い勝手が良い。 -Hオプションを付けるとホスト名がハッシュ化される、無しなら昔ながらに生のホスト名で出力される。今時はハッシュ化しとけば良いと思う。 注意点! 追記する為の >> を間違えて > て書くと既存のキーが全部消えるので気をつけること! ちょっと進化系 HashKnownHosts y
大体一年ぐらい前に C言語でmapとreduce - ギークもどきの日記帳 という記事を書きました。 これをC++14で、パフォーマンスを気にしないブルジョワ仕様で作ってみてmapで力尽きたという報告です。 map関数本体 複数コンテナへの対応は難しいので、今回はstd::vectorのみを考えた。 #include <algorithm> #include <vector> #include <iterator> template <class T, class R> auto map(const std::vector<T> a, std::function<R(T)> fn) { std::vector<R> result = {}; std::transform(a.begin(), a.end(), std::back_inserter(result), fn); return
error: invalid cast from type ‘foo()::<lambda(GtkSpinButton*, gpointer)>’ to type ‘GCallback {aka void (*)()}’ gtkではイベントハンドラはすべてG_CALLBACKを介してvoid (*)()型にキャストして渡すという、大胆な手法をとっています。 ラムダ式はキャプチャ無しの場合、同じシグネチャの関数ポインタへ暗黙的型変換が認められています。 つまり今回の場合 foo()::<lambda(GtkSpinButton*, gpointer)>から void (*)(GtkSpinButton*, gpointer)への変換は合法になります。 さらに、 void (*)(GtkSpinButton*, gpointer)からvoid (*)()への明示的型変換も一応合法です。 しかし
授業の概要・目的 計算アルゴリズムと計算機アーキテクチャによる高精度計算と高速計算の基礎、並列計算技法、応用事例を教授する。コンピュータを活用する上で最も重要な逐 次計算の高速化技法と、マルチコアCPUを搭載する計算機での並列計算技法や分散メモリ型並列計算機における並列計算技法について、C言語を利用して実習 を行う。計算科学についての基礎力をつけることを目的とする。 The aim of this course is to obtain the basic knowledge and skills for computational science. For this purpose, we give lectures and exercises as follows. In lectures, we give the following topics: numerical algorit
Introduction こんにちは、k_oomoriです。今回は非負値行列因子分解 (Non-negative Matrix Factorization, 略してNMF) を用いたデータの解析について触れてみたいと思います。 まず最初に用語の定義として、「非負値行列」とは全ての要素が非負値(0以上の実数)であるような行列を指すこととします。これを用いると、NMFとは「与えられた非負値行列を2つの非負値行列との積に(近似的に)分解するアルゴリズム」 と表現できます。これにより、なんとの中に潜んでいる特徴を抽出することができるというのです!これについては後ほど説明します。 ひとまずはの具体例を見てみましょう。いくつかのニュース記事の中に特定の単語がそれぞれ何回現れるかを数えるという状況を想像してください。例えば記事が3つ、対象とする単語が5つの場合、出現回数を次のように並べることができます。
シェルの操作中「テキストファイルをちょこっと覗きたいな」と思ったときに抜群に便利なlessコマンドであるが、普段綺麗に色付けされたソースコードを見慣れていると、モノクロのソースコードの見づらさに愕然としてしまう。結局lessを終了して他のエディタで開きなおすことになるのだが、lessでソースコードに色付け(シンタックスハイライト)できれば便利なのになーっ!と思ったことはないだろうか。そう、あるんです!lessでシンタックスハイライトする方法はあるんです!というわけで、今日はその方法を紹介しよう。 GNU Source-highlight結論から言うと、今日紹介する方法はGNU Source-highlightを使う。GNU Source-highlightを使えばイッパツだ。なのでまずGNU Source-highlightをインストールしよう。UbuntuやFedoraならリポジトリにあ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く