由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问个选语言的问题
相关主题
震惊:java 的矩阵操作比 c++ 快?xeon phi就是翔啊
Matrix calculation in C++有没有玩CUDA的?
gnu c++ 自带的库能解矩阵方程吗?我写的CUDA屏保软件 (转载)
为啥matlab一直用列优先存储来存储array?我写的CUDA屏保软件-公开源码 (转载)
openblas怎么比base blas还慢呢?请问程序同时在多个cpu上运行需要怎么改程序?
150行 F# 做矩阵运算比MKL还快C++ Software Engineer 工作求内推(Boston)
黑c++的人是不是坐井观天?请问该学点啥?
AI的终极优化目标nv的显卡能战胜intel的CPU么
相关话题的讨论汇总
话题: 矩阵话题: cuda话题: cpu话题: gpu话题: blas
进入Programming版参与讨论
1 (共1页)
v*******e
发帖数: 11604
1
我要写个计算程序,主要特点是大的运算量和大的矩阵,迭代。矩阵多大呢,就是内存
能装下的,如果装不下我可以选小一号的矩阵,结果的精确度会差一点。运算简单基本
是乘加。但是运算量大,所以最好能够把电脑的core都用上(比如双CPU共16核这样的
)。逻辑简单,不需要考虑内存溢出回收问题(因为可以用静态矩阵)。现在我想问,
如果我在64bit linux下写程序,选择什么语言最好?
我想选C,但是不知道C运用多核是不是方便。矩阵大,所以大概每个核各算一块矩阵,
相互干扰小。现在的C下还有单精度数吗?如果有,则可以省点内存。请赐教选什么语
言最好,谢谢!
b*******s
发帖数: 5216
2
openmp + c/c++
v*******e
发帖数: 11604
3

好,多谢,我去wiki先恶补一下看看。

【在 b*******s 的大作中提到】
: openmp + c/c++
v*******e
发帖数: 11604
4
回来update一下吧。网上恶补了一下,一般普通人搞这个的都在玩GPU运算,用CUDA。
openmp是用CPU算的,在cache装不下的时候比GPU慢许多。
N******K
发帖数: 10202
5
java

【在 v*******e 的大作中提到】
: 我要写个计算程序,主要特点是大的运算量和大的矩阵,迭代。矩阵多大呢,就是内存
: 能装下的,如果装不下我可以选小一号的矩阵,结果的精确度会差一点。运算简单基本
: 是乘加。但是运算量大,所以最好能够把电脑的core都用上(比如双CPU共16核这样的
: )。逻辑简单,不需要考虑内存溢出回收问题(因为可以用静态矩阵)。现在我想问,
: 如果我在64bit linux下写程序,选择什么语言最好?
: 我想选C,但是不知道C运用多核是不是方便。矩阵大,所以大概每个核各算一块矩阵,
: 相互干扰小。现在的C下还有单精度数吗?如果有,则可以省点内存。请赐教选什么语
: 言最好,谢谢!

h**********c
发帖数: 4120
6
you can try port lapack linpack to cuda.
c********1
发帖数: 5269
7
check it out---
Single Instruction Multiple Data (SIMD)

【在 v*******e 的大作中提到】
: 回来update一下吧。网上恶补了一下,一般普通人搞这个的都在玩GPU运算,用CUDA。
: openmp是用CPU算的,在cache装不下的时候比GPU慢许多。

z*******6
发帖数: 133
8
https://developer.nvidia.com/cuBLAS
The NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) library
a*****e
发帖数: 1700
9
就是用 BLAS 库,和语言没关系,Python 一样可以调用 BLAS
BLAS 库好多种实现,CPU 选 MKL,GPU 根据你用的是 CUDA 还是 OpenCL 选不同的库
。基本上多核/线程/SIMD/cache/优化都已经做到极致了,你自己写肯定不如人家写好
的。
如果一定要再进一步优化,CPU+GPU,或者做 fusion,搞起来可以发 HPC 论文了。如
非专业搞这行,还是老老实实一个一个 BLAS call 调用下来就好了。

【在 v*******e 的大作中提到】
: 我要写个计算程序,主要特点是大的运算量和大的矩阵,迭代。矩阵多大呢,就是内存
: 能装下的,如果装不下我可以选小一号的矩阵,结果的精确度会差一点。运算简单基本
: 是乘加。但是运算量大,所以最好能够把电脑的core都用上(比如双CPU共16核这样的
: )。逻辑简单,不需要考虑内存溢出回收问题(因为可以用静态矩阵)。现在我想问,
: 如果我在64bit linux下写程序,选择什么语言最好?
: 我想选C,但是不知道C运用多核是不是方便。矩阵大,所以大概每个核各算一块矩阵,
: 相互干扰小。现在的C下还有单精度数吗?如果有,则可以省点内存。请赐教选什么语
: 言最好,谢谢!

1 (共1页)
进入Programming版参与讨论
相关主题
nv的显卡能战胜intel的CPU么openblas怎么比base blas还慢呢?
什么FP能替代python150行 F# 做矩阵运算比MKL还快
并行可以降低计算复杂度??黑c++的人是不是坐井观天?
妈的怎么那么多鸡毛语言/软件AI的终极优化目标
震惊:java 的矩阵操作比 c++ 快?xeon phi就是翔啊
Matrix calculation in C++有没有玩CUDA的?
gnu c++ 自带的库能解矩阵方程吗?我写的CUDA屏保软件 (转载)
为啥matlab一直用列优先存储来存储array?我写的CUDA屏保软件-公开源码 (转载)
相关话题的讨论汇总
话题: 矩阵话题: cuda话题: cpu话题: gpu话题: blas