タグ

2016年8月9日のブックマーク (2件)

  • ComputeShaderSort11 サンプル

    サンプルの概要 このサンプルでは、バイトニック ソート アルゴリズムを実装するための、DirectX 11 コンピュート シェーダー 4.0 機能の基的な使用方法を示します。また、高パフォーマンスの実現に必要な考慮事項についても説明します。 バイトニック ソート バイトニック ソートは、昇順と降順に交互にソートされたシーケンスとなるように、データ セットをソートする単純なアルゴリズムです。これらのシーケンスを結合してソートし、より大きなシーケンスを生成することができます。この操作を、ソートされたデータの最終的な昇順シーケンスができるまで繰り返します。 以下の図は、8 つの整数をソートする方法の例を示しています。 スタート: ソート前のデータ ステップ 1: 2 つの要素ごとに昇順ソート、降順ソートを交互に行います。 ステップ 2: 4 つの要素ごとに昇順ソート、降順ソートを交互に行った後

    ComputeShaderSort11 サンプル
  • WebGLで暴力的な並列ソートに挑戦する

    日照時間足りてますか?やまだです。 KLab Advent Calender 11日目の記事です。 最近WebGLで実装できるちょっと強そうなソートアルゴリズムを知ったので書いてみました。 WebGLよくわかんないやーって人も雰囲気だけでも伝われば幸いです。 強さの秘訣 WebGLは3Dを描くAPIとして著名ですが、2Dはもちろん、工夫次第で汎用計算(GPGPU)にも応用できます。 WebGLでの演算は通常のJavaScript演算とは違い、GPUを使った並列な浮動小数点演算を可能とします。 そして、ソートアルゴリズムの中には計算量こそ地味なものの、並列処理が可能なものがあります。 そのうちの一つがバイトニックソートです。 GPUを使い、物量で計算する暴力的な並列ソートをやっていきましょう。 バイトニックソートとは 前述のとおり、並列処理が可能なソートアルゴリズムです。 配列を小さい領域に

    WebGLで暴力的な並列ソートに挑戦する