请教GPU编程高手

m
microsat
楼主 (北美华人网)
基于CPU的编程,和基于GPU的编程有什么不同? 两者,能简单的切换吗? 底层的函数,需要改变吗? 比如python的sklearn
g
gokgs
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
P
PDDs
GPU多用NVIDIA CUDA 
GPU快其实就是core多,可以同时计算所有的指令。当然和你写的程序结构和逻辑也有关系,如果你运算1万个计算,每个都是要用到前一个计算结果。用GPU也不会快。如果一万个计算大多都是独立的,就会非常快。当然大多数大量运算都是在这两个极端例子中间。
再说一下AI card还要比GPU快,因为里面大多core是8bit 运算。而GPU的大多是32,64bit运算,虽然可以做8bit运算,可是非常浪费,也就是说总量core会少很多。专属有专攻,GPU主要是玩游戏,AI card主要是算AI node。
CPU的core就不要说了,少的可怜,所以用CPU做AI task巨慢无比。
其实世界上所有知识都是非常简单的逻辑,只是堆叠太多,很多人基础没打好,学深一点就不懂了。
s
springbee
GPU就是程序run的快吧。
m
microsat
gokgs 发表于 2024-06-03 11:09
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html

请问如果用sklearn的random forest,怎么能用到GPU呢?
请问如果用sklearn的random forest,怎么能用到GPU呢?
microsat 发表于 2024-06-03 11:57

应该Python刚开始set environment setting用cuda就可以了。
如果你有Nvidia的GPU,只要不要太旧都有支持cuda.
s
summerjessie
再展开说说?
人在它乡
summerjessie 发表于 2024-06-03 14:53
赞,通俗易懂又有干活

睿智之人
c
calrose
跟java的multi threading有点象。不过GPU多,平行计算起来更快
i
indigodandelion
针对scikit-learn是否支持GPU,有人在网上问了,答案是目前还没有official support,但有experimental的branch可自己探索: https://scikit-learn.org/stable/faq.html#will-you-add-gpu-support https://github.com/lebedov/scikit-cuda
自己写cuda kernel优化某些算法可行,比如说random forests,但ramp up比较高,还不如找其它替代的库,比如用cuML,或者opencv w/ cuda(如果有RF的话) CPU到GPUprogramming,不是直接code translation, 而是一个理念转换,想要达到优化的地步,需要一定经验积累的。
y
yurik
https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial
S
Sungazer
如果AI chip 只支持8bit计算,那是不是在32bit 训好的模型一定要先quantization之后才可以跑?这样模型的精确度是不是多多少少会低一些? 当然,如果以后主流chip都是8bit,那可能大模型一开始就都是8bit. 8bit的大模型要达到和32bit一样的精确度,理论上讲是不是要有更多参数呢? 所以本质上说,8bit core 的优势是提供精确度的灵活性?大量不需要高精度的参数不需要占多余8bit的空间?
千渔千寻
回复 1楼 microsat 的帖子

系统提示:若遇到视频无法播放请点击下方链接
https://www.youtube.com/embed/AwJ0dU_K2tM

系统提示:若遇到视频无法播放请点击下方链接
https://www.youtube.com/embed/8sDg-lD1fZQ 参考一下。