那也就只有两种可能。用多核心服务器或者是用GPU。
齐凡先查了下CPU和GPU的运算原理。CPU和GPU相比,前者更像是串行计算,就是一条条数据排着队一次被CPU处理。而GPU则不同,它可以让格式雷同的数据,排排站手牵手并排地被它处理。
多核心的CPU本身并未改变CPU的计算方式,只是相当于多找了些帮手。一个核心的CPU就是一個帮手,多核心CPU相当于一群人一起干活,但是每个人干活的方式却并未改变。
那答案就呼之欲出了,肯定是用GPU来支持并行计算。
而眼下遗憾的是,齐凡并未在网上找到任何相关的资料。不过呢,这既是他的麻烦,也是他的机会。
因为没人做过,他就成了那个第一个吃螃蟹的人。
齐凡当即上英威达的官网,下载了GTX680的底层库。他打算动手自己写。
这底层库非常不好找,在英威达官网极其角落的地方。或许连英威达官方都觉得不会有人拿显卡来跑图形计算以外的工作。底层库被打开后,也证实了这一点。
整个底层库的应用介绍中,全部都是关于图形计算的。齐凡无奈吐槽:可怕的惯性思维,待我来给你们一点小小的震撼。
贤者饮料被大口大口的灌下,齐凡快速检索着底层库的英文文档。
这显卡底层库的设计初衷,是给Phtshp和CAD等绘图软件用的。因而提供的接口文档简直稀烂。英威达官方就没打算给个人开发者使用,而对于Phtshp那类大公司产品,英威达自然会派专业工程师负责对接。
齐凡猜测,英威达肯定不会给那些大公司也提供这种晦涩难懂的破文档。这放在官网上的底层库鬼知道是什么垃圾版本,弄不好是u一堆。可无奈,他眼下只好先凑合拿来用用。因为他要是给英威达官方发邮件,对方肯定不会鸟他。
临近拂晓,齐凡总算用C++写了个英威达显卡的Pythn接口库。测试了下,果然u一堆。而且细看那些u,很多都是无厘头,在文档上找不到半点信息的。
无奈,齐凡只好想了个折中的办法--跑去ithu吐槽。