タグ

2009年10月15日のブックマーク (12件)

  • TBB::Vector - OpenGL de プログラミング

    OpenGL de プログラミング トップページページ一覧メンバー編集 TBB::Vector 最終更新: mikk_ni3_92 2008年07月07日(月) 12:28:04履歴 Tweet 現在地 >> メニュー >> TBB >> TBB::Vector 関連 >> TBB::基編06::Vector 問題 0〜NUMまでを「tbb::concurrent_vector」に並列処理でpush_backを行え。 答え #include <iostream> #include <algorithm> #include <vector> #include <tbb/task_scheduler_init.h> #include <tbb/blocked_range.h> #include <tbb/parallel_for.h> #include <tbb/concurrent_vec

    TBB::Vector - OpenGL de プログラミング
    syou6162
    syou6162 2009/10/15
  • Intel® Threading Building Blocks

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Intel® Threading Building Blocks
  • Loading...

  • Semi-Supervised Sequential Labeling and Segmentation Using Giga-Word Scale Unlabeled Data

  • le4 parallel programming

    LU分解 (LU decomposition) 数学的定義 n×n 行列を考える. 行列積 C = A B : (行列 C の i 行 j 列目の要素を c_ij と書けば) n c_ij = \xAD\xF4 a_ik b_kj k=1 行列・ベクトル積 b = A x : (ベクトル bの i 行目の要素を b_i と書けば) n b_i = \xAD\xF4 a_ik x_k k=1 連立一次方程式の解: 与えられた行列 A と ベクトル b に対して、 A x = b を満たす ベクトル x を求める。 LU分解 とは 行列 A を、下三角行列 L、上三角行列 U を 用いて A = LU と分解すること。 ただし、 L については l_ij = 0 (1 ≦ i < j ≦ n), Uについては u_ij = 0 (1 ≦ j < i ≦ n)である。 LU 分解を用いた連立一次

  • yanoの日記

    Chrome 42 から使用可能になった、ページを閉じていても受信可能な Push 通知。updates.html5rocks.com 試してみましたけど、Android で GCM 通知受け取るアプリ作るのとほとんど同じ流れ。 API が PushManager やら ServiceWorker になっているだけ。 ページを閉じているときに通知を受け取れるだけでなく、Chrome を立ち上げていない際に受け取った通知も、次に Chrome を起動した際に表示される。 ただ一つ致命的なのが A downside to the current implementation of the Push API in Chrome is that you can’t send a payload with a push message. Nope, nothing. 通知データを送信できないので、ク

    yanoの日記
    syou6162
    syou6162 2009/10/15
  • Boost.uBLAS で特異値分解(SVD) - yanoの日記

    Boost.uBLAS と Boost.Bindings, clapack をインストールした今,特異値分解を簡単に実装することができます. というのも,Boost.Bindings を通して bindings.lapack.gesvd(lapack.dgesvd) を呼び出すだけだからです. 以下に私の実装例を示します. math.hpp #ifndef MATH_HPP_20090501 #define MATH_HPP_20090501 #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include <boost/numeric/ublas/fwd.hpp> namespace math { void svd(const boost::numeric::ublas::matrix<double>& A

    Boost.uBLAS で特異値分解(SVD) - yanoの日記
    syou6162
    syou6162 2009/10/15
    SVDSVD!
  • Boost で正規乱数の生成 - yanoの日記

    シミュレーション実験を行っていると正規乱数が必要になることがよくあります.正規乱数はかなり基的な乱数であるためさまざまなライブラリに実装されているのですが,私は Boost をよく使っているので,正規乱数でも Boost を使用して発生させています. しかし Boost の実装は柔軟性を求め過ぎるあまり使いやすさを失ってしまっているように感じます(単に正規乱数を発生させたい人にとっては).というのも,Boost で正規乱数を発生させるためにはまず一様分布を発生させるエンジンを選び,それを適切にコンストラクトする必要があります.エンジンによってはテンプレート化されたコンストラクタをもつため,エンジンを適切に初期化するためにはコンストラクタに渡す種(seed)の型を正確に一致させる必要があります(そうしなければテンプレート化されたコンストラクタが呼ばれてしまいます).その後 normal_d

    Boost で正規乱数の生成 - yanoの日記
  • Boost.uBLAS の遅延評価について - yanoの日記

    今回は uBLAS の遅延評価について説明します. uBLAS が他の数ある行列演算ライブラリと比べもっとも性質を異にしているものがこの遅延評価です. これは uBLAS 最大の特徴であり,Expression template という技法により実現されています. その実装はとても複雑ですが,実際に uBLAS を利用するユーザはそのことを意識しなくてもよい作りになっています. Expression template については以下が詳しいです. Expression Template しかし効率的なプログラムを書くという点で,この uBLAS の遅延評価について知っておくことは決して損にはならないでしょう. さて,次のようなコードを考えます. matrix A, B; prod(A, B); 何が起きるでしょうか?普通のライブラリなら prod 内で行列 A と行列 B の乗算が行われ,

    Boost.uBLAS の遅延評価について - yanoの日記
    syou6162
    syou6162 2009/10/15
    遅延評価もできるのか
  • Boost.uBLAS で最小二乗法 - yanoの日記

    今回は AX = B の最小二乗解(Least squares solution),あるいは最小ノルム解(Minimum norm solution)を計算します.lapack を用いてこれを計算するには dgels, dgelss, dgelsd という関数を用いればよく,対応する bindings のヘッダファイルは gels.hpp, gelss.hpp, gelsd.hpp になっています.しかしこれらのヘッダファイルの作者は MSVC 環境でしかテストしていないのか,typename が抜けている箇所がいくつもあります.そのため標準準拠なコンパイラではこれらのヘッダを使用することができません. この問題はバージョン bindings-20081116 でようやく修正されました. つまり何が言いたいのかというと,今回のプログラムは bindings-20081116 以降のバージョ

    Boost.uBLAS で最小二乗法 - yanoの日記
  • 統計のための線形代数 in C++ (Boost uBLASの参考サイトとtipsまとめ)

    最近の僕はより大規模な実験を行うべく、これまで作ってきたtoy programをC++に移植する毎日です。 その過程でどうしてもベクトル・行列演算が必要になったので、時期標準の呼び声高いBoost内のベクトル・行列ライブラリ、uBLASを用いてみました。 今回の記事は、特に僕が必要であった演算を実現すべく、参考にしたサイト及びそれらをまとめたテンプレート関数群をご紹介します。 参考にした主なサイトは以下のとおりです。 Boost Basic Linear Algebra(家) Boost 数学関連ライブラリの使い方 yanoの日記 2で概要を掴み、1で詳細を詰め、3で必要なものを実装... がオススメです。 特に3の矢野さんの日記には大変助けられました。ほとんど全ての実装がblogを元にしているといっても過言ではありません(この場を借りて御礼申し上げます)。 先人達の知恵を集結し、まとめ

    syou6162
    syou6162 2009/10/15
    おおお!
  • fgetsでファイルを読み込むためのバッファの大きさ設定方法 - シリコンの谷のゾンビ

    C言語初心者向けメモ. 僕はファイル処理をする場合にはfgetsを多用するのだけれど,その際 #define BUFFLEN 102400 char buff[ BUFFLEN ]; とか,スタック領域に乗らない程大きな領域であれば char *buff = malloc(sizeof(char) * BUFFLEN); というようにゆとり領域を用意してしまう. fgetsで一行ずつ処理を行いたい場合には,上記buffの大きさはファイルにおける最大幅あれば十分.ただし,最大幅を知るためには一度ファイルを走査する必要がある.というわけでファイルの行あたりの最大文字幅を決めてから,バッファを用意してfgetsでファイルを読み込むコードを書いてみた. その際に「あ,これはハマりそうだな」という点に気がついたのでメモ. こんな感じでfgetcを使って幅を調べる. #include <stdio.h

    fgetsでファイルを読み込むためのバッファの大きさ設定方法 - シリコンの谷のゾンビ
    syou6162
    syou6162 2009/10/15