問題タブ [reduction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
latex - ラテックスの \cite{1} タグによって生成される引用 ([1] など) のサイズを縮小する方法
ウィキペディアは n をきれいに上付きにし、すべての引用のサイズを縮小します。ラテックスでそれを取得する方法はありますか。
algorithm - CUDA: リダクションまたはアトミック操作?
特定の行列の最大値を計算する CUDA カーネルを作成しており、可能性を評価しています。私が見つけることができる最良の方法は次のとおりです。
すべてのスレッドが共有メモリに値を格納するように強制し、その後削減アルゴリズムを使用して最大値を決定します (長所: 最小の発散 短所: 共有メモリは 2.0 デバイスで 48Kb に制限されます)。
読み取り操作と書き込み操作の両方があるため、アトミック操作を使用できなかったため、同期スレッドによってスレッドを同期できませんでした。
他のアイデアが頭に浮かびますか?
lambda-calculus - ラムダ計算の値で呼び出す
私は型とプログラミング言語を使って作業しています。Pierceは、値削減戦略による呼び出しについて、用語の例を示していid (id (λz. id z))
ます。内側のリデックスid (λz. id z)
は最初に減少し、最初の減少の結果として、外側のリデックスが通常の形式に減少する前にλz. id z
与えられます。id (λz. id z)
λz. id z
ただし、値による呼び出しの順序は、「最も外側のレデックスのみが削減される」、「レデックスは、右側がすでに値に削減されている場合にのみ削減される」と定義されています。この例id (λz. id z)
では、最も外側のredexの右側に表示され、縮小されています。これは、最も外側のレデックスのみが削減されるというルールとどのように二乗されますか?
「最も外側」と「最も内側」という答えは、ラムダ抽象化のみを指しているのでしょうか。したがって、の項についてt
はλz. t
、t
減らすことはできませんが、redexs t
では、可能であればt
値に減らしてから、減らしますか?v
s v
javascript - このJavascriptコードを減らすことはできますか?
減らすことはできますか
に
現在、デバッガーを持っていません。最初のスニペットは正常に機能するため、値が返されることはわかっていdocument.getElementById('fb0')
ます。しかし、ifステートメントで割り当てを評価する必要がありますか?
c++ - OpenMP:同じプラグマのnowait句とreduction句
私はOpenMPを研究していて、次の例に出くわしました。
最後のforループには、nowait節とreduction節があります。これは正しいです?削減句を同期する必要はありませんか?
cuda - CUDA、リダクションを使用してMaxを見つける、エラー
これは、ブロック内で最大50個の値の配列を見つけるためにリダクションを実行しようとしている私のコードです。配列を64にパディングしました。
スレッド1〜31の場合、正しいmaxValの出力がありますが、スレッド32〜49の場合、これは完全に乱数です。何が間違っているのかわかりません。
ところで。展開時にすべての行を_syncする必要はないと思いましたが、どうやらそうする必要があります。それについて何か提案はありますか?
助けてくれてありがとう。
r - 大規模なデータセットの変数/次元削減にRを使用する
私の場合、さまざまな変数を含むRのデータがいくつかあります。
ケースごとに期待される出力のベクトルもあります。
1、2、3、1、4
私がやりたいのは、役に立たない変数を特定することです。この例では、BとZはデータを分類する機能がほとんどないため、その事実を伝えたいと思います。
重回帰を使用することを検討しましたが、適切なデータでは数万、数万の場合があるため、すべての変数/ディメンションを個別に入力して操作する必要はありません。
最善のアプローチについての助けをいただければ幸いです。
ところで、私は統計家ではなく、ソフトウェア開発者なので、用語が正しくない場合は失礼します。
cuda - レジスタを使用した CUDA リダクション
リダクションを使用して N 個の信号の平均値を計算する必要があります。入力はサイズ MN の 1D 配列で、M は各信号の長さです。
もともと、最初にデータをコピーして各信号を削減するための追加の共有メモリがありました。ただし、元のデータは破損しています。
私のプログラムは共有メモリを最小化しようとします。それで、レジスタを使用して N 信号の削減合計を行うにはどうすればよいか疑問に思っていました。N 個のスレッド、共有メモリ (float) s_m[N*M]、0....M-1 が最初のシグナルなどです。
N 個の異なる信号の平均値を格納するには、N 個のレジスタ (または 1 つ) が必要ですか? (マルチスレッドプログラミングと1つのレジスタを使用して順次加算を行う方法を知っています)。私がやりたい次のステップは、対応する信号の平均から入力のすべての値を減算することです。
algorithm - 削減の概念における非常に複雑な問題
私は削減について多くのことを研究しましたが、それには悪い問題があります:私はこれをCLRSから取っています:
「...問題Aの解決を問題Bの解決に「減らす」ことにより、Bの「容易さ」を使用してAの「容易さ」を証明します。」
そして、私はこれを「クリストスH.パパディミトリオウによる計算の複雑さ」から取っています。
「...問題Aは、BがAに減少した場合、少なくとも問題Bと同じくらい困難です。」
私はこれらの2つの概念と混同しました:簡単さを使用すると、問題Xは問題Yに還元され、Yの多項式時間アルゴリズムがあり、還元プロセスが多項式時間で行われる場合、問題Xは多項式時間で解くことができ、XはYより簡単か、少なくともYより難しくはありません。
しかし、硬さを使用すると、問題Xは問題Yに還元され、YはXよりも簡単であるか、少なくともXよりも難しくはありません。
私は本当に混乱しました、助けてください。特別な感謝。
algorithm - CUDA 最大削減アルゴリズムが機能しない
以前の質問で、CUDA で配列の最大値を効率的に見つける方法を尋ねました: Finding max value in CUDA、上位の回答は、リダクション カーネルの最適化に関する NVIDIA プレゼンテーションへのリンクを提供しました。
Visual Studio を使用している場合は、ヘッダー参照とCPU EXECUTIONの間のすべてを削除するだけです。
最大値を見つけたバリアントをセットアップしましたが、CPU が見つけたものと一致しません。
このアルゴリズムをテストするための巨大なセットアップがあります。
-g と -G スイッチをオンにして、このテスト プログラムで cuda-memcheck を実行したところ、0 件の問題が報告されました。誰でも問題を見つけることができますか?
注: プログラムをコンパイルするときは、CUDA by Example ブックの book.h を現在のディレクトリに置いてください。ソース リンクはこちら: http://developer.nvidia.com/cuda-example-introduction-general-purpose-gpu-programming ソース コードをダウンロードすると、book.h が共通のディレクトリ/フォルダーの下になります。