问题标签 [vectorization]
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.
f# - 未来 F# 是否有可能比其他 .Net 语言优化得更多?
微软是否有可能让 F# 程序在 VM 执行时或更可能在编译时检测到程序是用函数式语言构建的并自动更好地并行化它?
现在我相信没有这样的努力来尝试自动执行一个作为单线程程序构建为多线程程序的程序。
也就是说,开发人员将编写一个单线程程序。并且编译器会输出一个编译的程序,该程序是多线程的,在需要时带有互斥锁和同步。
这些优化会在任务管理器中的进程线程数中可见,还是会比这更低?
python - 如何实现一个覆盖单个值和多个值的函数
假设您有这样的值:
以及一个返回它的阶乘的函数,如下所示:
你如何处理多个值:
所以它将所有这些值的阶乘作为列表返回?
在不编写 2 种方法的情况下,最干净的处理方法是什么?Python 是否有处理这类情况的好方法?
matlab - 以快速、向量化的方式将二进制矩阵转换为最后一个非零索引的向量
假设在 MATLAB 中,我有一个矩阵 A,其元素为 0 或 1。
如何以更快的向量化方式获取每列最后一个非零元素的索引向量?
我可以做
[B, I] = max(cumsum(A));
并使用I
,但有更快的方法吗?(我假设 cumsum 即使将 0 和 1 相加也会花费一些时间)。
编辑:我想我矢量化的速度甚至超过了我需要的速度 - Fooz 先生的循环很棒,但 MATLAB 中的每个循环似乎都花费了我很多调试时间,即使它很快。
matlab - 分桶算法
我有一些有效的代码,但有点瓶颈,我一直在试图弄清楚如何加速它。它在一个循环中,我不知道如何对其进行矢量化。
我有一个代表时间序列数据的二维数组 vals。行是日期,列是不同的系列。我试图按月存储数据以对其执行各种操作(求和、平均值等)。这是我当前的代码:
下一行是瓶颈,因为我多次调用它。(循环)
有任何想法吗?提前致谢。
r - 为什么 R 的 ifelse 语句不能返回向量?
我发现 R 的 ifelse 语句有时非常方便。例如:
但是我对以下行为感到有些困惑。
这是一个高于我工资等级的设计选择吗?
loops - Visual Studio 的循环矢量化(手动和自动)有哪些资源?
我看到了一些 gcc 的资源,但没有看到 Visual Studio 的资源。
任何人都有参考资料、例子和技巧的宝库吗?
matlab - 将长二维矩阵拆分为第三维
假设我有以下矩阵:
我想提取每 2 行并将它们放入第三维,所以结果会是这样的:
我显然可以用一个 for 循环来做到这一点,只是想知道如何使用permute / reshape /..更优雅地作为单行来做到这一点(注意矩阵大小和步长必须是参数)
vectorization - 什么是“矢量化”?
现在有好几次,我在 matlab、fortran 中遇到过这个术语……其他……但我从来没有找到解释它是什么意思,它有什么作用?所以我在这里问,什么是矢量化,例如,“循环被矢量化”是什么意思?
c - 对于简单的二进制减法,由于 SSE 的最大理论加速是多少?
在试图弄清楚我的代码的内部循环是否遇到了硬件设计障碍或对我的部分障碍缺乏理解。还有更多内容,但我能想到的最简单的问题如下:
如果我有以下代码:
在我完全控制代码(汇编、内在函数等)但无法控制架构以外的运行时环境(即它是一个多用户环境,所以我无法对操作系统内核如何为我的特定进程分配时间做任何事情)。
现在我看到我的代码速度提高了 3 倍,而我本以为使用 SSE 会给我带来比 3 倍加速所指示的更多的向量深度(大概 3 倍加速告诉我我有 4 倍的最大理论值)吞吐量)。(我尝试过让 deltx/delty/deltz 成为数组,以防编译器不够聪明而无法自动提升它们,但我仍然看到只有 3 倍的速度。)我正在使用英特尔 C 编译器用于矢量化的适当编译器标志,但显然没有内在函数。
c++ - 矢量化是什么意思?
将代码矢量化是个好主意吗?在什么时候做这件事上有什么好的做法?下面会发生什么?