由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - rust搞科学计算,有搞头吗?
进入Programming版参与讨论
1 (共1页)
d******a
发帖数: 32122
1
。。。。。。。。。。。。。
y****w
发帖数: 3747
2
我不懂。但我觉得主要是钱的问题。 另外科学计算用语言应该有优化的矩阵运算,这
个似乎搞gpu计算的哥们会更有发言权。

【在 d******a 的大作中提到】
: 。。。。。。。。。。。。。
h****e
发帖数: 2125
3
没必要,Rust语言target的市场是C/C++/Java backend systems,不是科学计算

【在 d******a 的大作中提到】
: 。。。。。。。。。。。。。
m*****n
发帖数: 3575
4
你要问AMD的显卡支持Rust库吗?
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 的大作中提到】
: 。。。。。。。。。。。。。
1 (共1页)
进入Programming版参与讨论