问题标签 [scientific-computing]
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.
scientific-computing - 通用物理引擎
是否有任何通用物理引擎可以对刚体进行大量模拟?我使用的是 Nvidia 的 PhysX,但这个引擎的重点是游戏开发、软体。我想知道是否存在运行在 PS3 单元处理器或 CUDA 内核之上的物理引擎,允许进行大规模的科学物理模拟。
gpu - 我应该选择哪个平台进行科学计算?
选择 PS3 作为科学计算平台而不是 GPU 的优缺点是什么?它是更好的选择吗?
testing - 协作科学/数据处理项目的仪表板
像 Hudson 这样的持续集成服务器是软件开发的一个非常了不起的补充。我在一个学术研究实验室工作,我很想将类似的原理应用于科学数据分析。我想要一个类似仪表板的视图,可以查看哪些数据集合很好,哪些数据未通过测试(主要是简单的 shell 脚本)等等。很像Chromium 仪表板(警告:页面需要很长时间才能加载)。
将我们的数据(来自行为研究)从原始形式转化为最终的、易于分析的形式需要至少 4 个人的工作,可能需要 10 或 12 个小时的计算机时间。我尝试过 Hudson 和 buildbot,但两者都不适合我们的工作流程。我们只想对大约 50 个独立的主题数据集合进行一系列测试,并很好地显示结果。
所以!有没有人推荐一种轻松生成此类报告的方法?或者,您能想出一种将这种工作流程硬塞到持续集成服务器中的好方法吗?或者,你能推荐一个单元测试仪表板来处理小 shell 脚本而不是小函数的测试吗?
谢谢!
c# - C# / .NET 中的二次规划
有谁知道可以解决 C# 中的二次编程问题的免费包?
我用谷歌搜索并找到了一些。但很难说哪个是最好和最快的。有人喜欢吗?
python - 为什么 numpy 本身就“慢”?
鉴于这里的线程
似乎 numpy 对于超快速计算并不是最理想的。有谁知道在使用 numpy 进行数值计算时我们必须注意什么开销?
scientific-computing - 科学编程的可重复性
除了产生不正确的结果外,科学编程中最担心的问题之一是无法重现您生成的结果。哪些最佳实践有助于确保您的分析具有可重复性?
c++ - 科学计算中的 F# 性能
我很好奇 F# 性能与 C++ 性能相比如何?我问了一个关于 Java 的类似问题,我得到的印象是 Java 不适合繁重的数字运算。
我已经读过 F# 应该更具可扩展性和更高的性能,但是与 C++ 相比,这种实际性能如何?关于当前实施的具体问题是:
- 它在浮点方面做得如何?
- 是否允许向量指令
- 它对优化编译器有多友好?
- 它有多大的内存足迹?它是否允许对内存位置进行细粒度控制?
- 它是否具有分布式内存处理器的容量,例如 Cray?
- 它有哪些特征可能对涉及大量数字处理的计算科学感兴趣?
- 是否有使用它的实际科学计算实现?
谢谢
linux - 在 Linux 中的程序启动之前为其预分配内存
我有一个程序,可以使用cholesky 分解反复求解大型线性方程组。特点是我有时需要存储可能超过约 20 GB 内存的完整因式分解。分解发生在我称之为的库中。此外,这个矩阵和由此产生的因式分解非常频繁地变化,因此内存需求也是如此。
我不是唯一使用此计算节点的人。因此,有没有办法在 Linux 下启动程序并为进程预分配空闲内存?
就像是:$: prealloc -m 25G ./program
scientific-computing - 在小型科学环境中提高生产力的行业风格实践
我在美国一所大学的一个小型独立科学实验室工作,我注意到,与行业中表面上遵循的许多做法相比,例如每天检查版本控制系统,使用对于所有语言(如 emacs)等的单个 IDE/编辑器,我们遵循相当粗劣的编程实践。
因此,我正在考虑将我所有的程序、脚本等整合在一起,并构建一个简化的环境来提高生产力。我想从 Stack Overflow 上的人那里得到同样的建议。这是我的主要计划:我使用 MATLAB、C 和 Python 脚本,我想从一个编辑器编辑、编译它们,并确保正确的版本控制。
(我想要建议的问题/事情以斜体显示)
1] 安装 Cygwin,让它在 Windows 上正常工作,这样我就可以使用 git 或类似的版本控制系统(有没有可以直接从 Windows CLI 工作的 DVCS,所以我可以跳过 Cygwin 步骤?)。
2] 设置 emacs 以使用 C、Python 和 MATLAB 文件,这样我就可以从一个编辑器(比如 emacs)一次编辑和编译所有这三个文件
(我对 emacs 菜单不是很熟悉,但是有没有办法为某些语言设置编译器的路径?我知道我可以用谷歌搜索,但到目前为止,emacs 文档对我来说很难阅读,所以如果有人用简单的语言告诉我,我将不胜感激)
3] 在每天或半天结束时开始检查代码,以保持我的代码的正确进度(两个问题),
你可以直接从emacs签出文件吗?
有没有办法将LabVIEW文件检出到像git这样的DVCS中?
最后,我想为这个问题相当模糊的性质道歉,并希望随着时间的推移我会学会提出更好的问题。不过,如果人们提出他们的建议,并指出任何可以帮助我学习的资源,我将不胜感激。
git - 在不存档的情况下将 Git SHA1 信息扩展为签入?
有没有办法在我每次提交时在文件中包含 git commit 哈希?我只能在归档期间找到如何执行此操作,但我无法找到如何为每次提交执行此操作。
我正在使用 git 作为修订控制进行科学编程,因此这种功能对于可重复性原因非常有帮助(即,将 git 哈希自动包含在所有结果文件和图形中)。