近来,基于GPU的统一运算架构由于NVIDIA的大肆宣传而广为人知。已经有许多模型可供统一运算选择,其中最流行的就属CUDA与openCL了。
个人考量了下两种模型,发现CUDA从目前而言比较实用,与现有的架构比较容易融合,不过,要作进一步的优化则困难较大,难以单独控制某个存储器及运算器。
而openCL则比较强大,可以很好的控制各种器件,不过,由此带来的后果是,你要考虑很多,要自己安排各个存储器及运算设备,使得用起来难度极高。
我个人的看法,你可以把CUDA模型看成是架构于openCL之上的一个库,用这个库,你可以节省许多代码,也可以不用过多地考虑硬件细节,不过,缺点是,你无法更好地优化。
再有一点,未来可能会出现许多基于openCL之上的库,通过那些对不同应用进行优化过的库,你照样可以不用过多地考虑硬件,不过,目前openCL还确实不够成熟,不同的硬件对openCL的支持还不统一,所以,估计得等上比较长的时间了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23488520/viewspace-666871/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23488520/viewspace-666871/