d******a 发帖数: 32122 | |
y****w 发帖数: 3747 | 2 我不懂。但我觉得主要是钱的问题。 另外科学计算用语言应该有优化的矩阵运算,这
个似乎搞gpu计算的哥们会更有发言权。
【在 d******a 的大作中提到】 : 。。。。。。。。。。。。。
|
h****e 发帖数: 2125 | 3 没必要,Rust语言target的市场是C/C++/Java backend systems,不是科学计算
【在 d******a 的大作中提到】 : 。。。。。。。。。。。。。
|
m*****n 发帖数: 3575 | |
m*****n 发帖数: 3575 | 5 瓶颈在显卡,而不是在pandas
我劝你试一下Julia,如果Julia都不能提升,
那自己从头编一个别的语言的pandas意义很小。 |
d******a 发帖数: 32122 | 6 我是在比较C++和Rust
【在 m*****n 的大作中提到】 : 瓶颈在显卡,而不是在pandas : 我劝你试一下Julia,如果Julia都不能提升, : 那自己从头编一个别的语言的pandas意义很小。
|
m*****n 发帖数: 3575 | 7 那完全可以,Rust最强的就是和底层语言的接口。显卡的部分依然接AMD的C++接口,逻
辑部分你想用Rust写就用Rust写。
【在 d******a 的大作中提到】 : 我是在比较C++和Rust
|
d******a 发帖数: 32122 | 8
速度上还是被C++完虐,
如果不是调用C++,还不如Python
不同方法的计算耗时 (单位:秒)
方法/单元数量 499 999 1499 1999 2499 2999 3499 3999
4499 14999
Rust(sparse21 + sprs) 2 7 16 28 44 66 32 44 156
-
Rust(ndarray + nalgebra) 1 5 14 29 53 82 116 - -
-
Python(scipy.linalg.inv) 2 4 7 12 18 25 34 44 56
-
Python(scipy.linalg.spsolve) 3 3 3 4 5 6 6 7 7
25
C++(eigen/sparse, iter, ConjugateGradient) 7 20 40 60 - -
- - - -
C++(eigen/sparse, direct, SparseLU) 0 0 0 0 0 0 0 0
0.2 1.21
Rust(dylib, eigen, SparseLU) 1 2 2 3 4 4 5 5 6
18
分析
【在 m*****n 的大作中提到】 : 那完全可以,Rust最强的就是和底层语言的接口。显卡的部分依然接AMD的C++接口,逻 : 辑部分你想用Rust写就用Rust写。
|
s******a 发帖数: 128 | 9 Rust的vectorization还不是太好,是比C++慢的主要原因 |
s******a 发帖数: 128 | 10 Rust的vectorization还不是太好,是比C++慢的主要原因 |
m*****n 发帖数: 3575 | 11 说明人家python在numpy下了苦功的。
3999
-
56
【在 d******a 的大作中提到】 : : 速度上还是被C++完虐, : 如果不是调用C++,还不如Python : 不同方法的计算耗时 (单位:秒) : 方法/单元数量 499 999 1499 1999 2499 2999 3499 3999 : 4499 14999 : Rust(sparse21 + sprs) 2 7 16 28 44 66 32 44 156 : - : Rust(ndarray + nalgebra) 1 5 14 29 53 82 116 - - : -
|
d******a 发帖数: 32122 | 12 rust是输给了scipy
貌似scipy和numpy重叠的部分,numpy要快
【在 m*****n 的大作中提到】 : 说明人家python在numpy下了苦功的。 : : 3999 : : - : 56
|
C*****l 发帖数: 1 | 13 线性代数的库,底层都是fortran一脉相承下来的算法,numpy也一样。再快那就要上
GPU,你到底要做什么科学计算?
【在 d******a 的大作中提到】 : rust是输给了scipy : 貌似scipy和numpy重叠的部分,numpy要快
|
m*****n 发帖数: 3575 | 14 应该是调参炼金术之类的深度学习。
GPU,你到底要做什么科学计算?
【在 C*****l 的大作中提到】 : 线性代数的库,底层都是fortran一脉相承下来的算法,numpy也一样。再快那就要上 : GPU,你到底要做什么科学计算?
|
d******a 发帖数: 32122 | 15 就是一些稀疏矩阵,一顿乘法,偶尔求逆,偶尔最小化
【在 C*****l 的大作中提到】 : 线性代数的库,底层都是fortran一脉相承下来的算法,numpy也一样。再快那就要上 : GPU,你到底要做什么科学计算?
|
C*****l 发帖数: 1 | 16 用c/c++吧, 有MKL或者LAPACK这样久经考验的库,移植到CUDA上面也是第一官方语言。
其他的性能差点都是小事,到时候这个也不支持那个也不支持就玩球了
【在 d******a 的大作中提到】 : 就是一些稀疏矩阵,一顿乘法,偶尔求逆,偶尔最小化
|
a******n 发帖数: 100 | 17 什么样的轮子需要自己写?
https://github.com/cupy/cupy
不够用吗?
只是换语言能提高一倍的效率(over Cpp/C)?
还是直接上硬件 GPU 比较舒服
: 线性代数的库,底层都是fortran一脉相承下来的算法,numpy也一样。再
快那就
要上
: GPU,你到底要做什么科学计算?
【在 C*****l 的大作中提到】 : 用c/c++吧, 有MKL或者LAPACK这样久经考验的库,移植到CUDA上面也是第一官方语言。 : 其他的性能差点都是小事,到时候这个也不支持那个也不支持就玩球了
|
d******a 发帖数: 32122 | 18 属实,要速度,就C++;要舒适,就Python;兼顾速度和舒适,就Julia
Rust实在是鸡肋
【在 C*****l 的大作中提到】 : 用c/c++吧, 有MKL或者LAPACK这样久经考验的库,移植到CUDA上面也是第一官方语言。 : 其他的性能差点都是小事,到时候这个也不支持那个也不支持就玩球了
|
m********5 发帖数: 17667 | 19 意义不大, 科学计算的大部分code是用完就丢, 无维护需求
rust是牺牲便利性来降低维护强度, 和科学计算圈子的需求彻底相反
【在 d******a 的大作中提到】 : 。。。。。。。。。。。。。
|
c*******9 发帖数: 9032 | 20 Python不舒适呀。
【在 d******a 的大作中提到】 : 属实,要速度,就C++;要舒适,就Python;兼顾速度和舒适,就Julia : Rust实在是鸡肋
|
c*******9 发帖数: 9032 | 21 也不完全是。主要是搞数值计算的人不太理会结构上完整美观。
【在 m********5 的大作中提到】 : 意义不大, 科学计算的大部分code是用完就丢, 无维护需求 : rust是牺牲便利性来降低维护强度, 和科学计算圈子的需求彻底相反
|
s******a 发帖数: 128 | 22 A Rust program implementing the density functional theory used in the
computational materials science
https://github.com/dftworks/dftworks |
n******t 发帖数: 4406 | 23 這社區的人有毒,特別喜歡把已經存在的東西用rust重寫一邊,不是一般的無聊。
【在 s******a 的大作中提到】 : A Rust program implementing the density functional theory used in the : computational materials science : https://github.com/dftworks/dftworks
|
d******a 发帖数: 32122 | 24 python R Julia 搞科学计算,比其他语言强太多了
至少 matrix viewer有
其他的都没有,想debug 看看matrix里的内容还挺麻烦
【在 d******a 的大作中提到】 : 。。。。。。。。。。。。。
|