问题标签 [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 - 在 lambda 演算中按值调用
我正在研究Types and Programming Languages,而 Pierce 对于按值减少策略的调用,给出了 term 的例子id (id (λz. id z))。内部 redexid (λz. id z)被归约为λz. id zfirst,id (λz. id z)作为第一次归约的结果,在外部 redex 归约为正常形式之前λz. id z。
但是按值顺序调用被定义为“仅减少最外层的redex”,并且“仅当redex 的右侧已经减少为一个值时才减少redex”。在示例id (λz. id z)中出现在最外层 redex 的右侧,并且被缩减。这与仅减少最外层redexes的规则有何关系?
“最外层”和“最里面”的答案是否仅指 lambda 抽象?所以对于 in 中的一个术语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 的一维数组,其中 M 是每个信号的长度。
最初我有额外的共享内存来首先复制数据并减少每个信号。但是,原始数据已损坏。
我的程序试图最小化共享内存。所以我想知道如何使用寄存器对 N 个信号进行归约和。我有 N 个线程,一个共享内存 (float) s_m[N*M], 0....M-1 是第一个信号,等等。
我是否需要 N 个寄存器(或一个)来存储 N 个不同信号的平均值?(我知道如何使用多线程编程和 1 个寄存器进行顺序加法)。我想做的下一步是从对应信号的平均值中减去输入中的每个值。
algorithm - 约简概念中的一个非常复杂的问题
我研究了很多关于减少的问题,但我有一个很糟糕的问题:我从 CLRS 得到这个:
“ ...通过将解决问题 A 的问题“简化”为解决问题 B,我们用 B 的“容易性”来证明 A 的“容易性”。”
我从“Christos H. Papadimitriou 的计算复杂性”中得到这个:
“……如果 B 简化为 A,问题 A 至少和问题 B 一样难。”
我对这两个概念感到困惑:当我们使用 easyiness 时,我们说问题 X 减少为问题 Y,如果我们有 Y 的多项式时间算法并且减少过程是在多项式时间内完成的,那么问题 X 可以在多项式时间内解决,而 X 是比 Y 容易,或者至少不比 Y 难。
但是当我们使用 hard 时,我们说问题 X 简化为问题 Y,并且 Y 比 X 更容易,或者至少不比 X 更难。
我真的很困惑,请帮助我。特别感谢。
algorithm - CUDA 最大缩减算法不起作用
上一个问题询问如何在 CUDA 中有效地找到数组的最大值:Finding max value in CUDA,最热门的回复提供了指向 NVIDIA 关于优化缩减内核的演示文稿的链接。
如果您使用的是 Visual Studio,只需删除标头引用以及CPU EXECUTION之间的所有内容。
我设置了一个找到最大值的变体,但它与 CPU 的发现不匹配:
我有一个巨大的设置来测试这个算法:
我在这个测试程序上运行了 cuda-memcheck,打开了 -g 和 -G 开关,它报告了 0 个问题。谁能发现这个问题?
注意:当您编译程序时,请确保在当前目录中有来自 CUDA by Example 的 book.h。源码链接在这里:http: //developer.nvidia.com/cuda-example-introduction-general-purpose-gpu-programming 下载源码,book.h会在common目录/文件夹下。