【Altera SoC体验之旅】opencl简单的了解
[复制链接]
关于opencl是什么。我就不用太专业的方式说什么,C语言的升级,什么通用型等。他就是一门语言,就和我们中国话一样。对于中国人来讲,大部分人听不懂英语的。英国人听的懂呀。同样的FPGA是读不懂C语言的。可是CPU懂呀。opencl就像美式英语一样,全面铺开。中国人开始能听懂一些英语啦。也只是C语言的一点点改变。这个opencl就只说的到这里。
今天的主题是,opencl在FPGA硬件里面的兼容性问题。
到今天为止,所有的讨论都只限于理论讨论,不涉及到任何的验证。所以只是吹牛而已,随便喷。本人微笑的接待 。当然喷的时候给点理由就更好了。
这4款开发板,表示说只有一款开发板支持opencl的开发。这一点表示怀疑,虽然这个是很多人都认可的,而且也是altera那边人也有回话。可是不好意思。去挑战权威,我习惯了。为何呢??opencl是一门开发语言,SDK是翻译器。对于opencl来讲,一部分是c语言主函数,一部分是加速器。对于加速器部分来说,FPGA器件是没有问题的。主函数部分,opencl在编程的时候,制定到arm9就可以了。opencl兼容这两个器件。没有问题。(如果你用FPAA器件,可能opencl语言就无能为力了。)下一环是SDK翻译后的结果。SDK翻译后的状态,我真心不是很了解。但是翻译后的信息里面一定有一段码流来识别arm的。大概说到这来。现在我们讨论开发板的问题了。
opencl语言是针对的,器件的范围。只要这个范围之内全部兼容。比如说,100*100的cpu矩阵芯片(具体叫什么,不知道)。可能opencl就不支持。自然100*100的cpu矩阵开发板就更不支持了。SDK是针对FPGA的芯片的。因为语言里面有针对C的内容。需要识别出芯片内是否有arm结构的。SDK一定是支持所有具有内嵌arm9结构的芯片。为什么是所有的芯片,而不是某一款,是因为arm9的结构全是一样的。如果厂商说,目前的SDK只支持cyclone 不支持arria 。那是厂商加密,而不是技术本身。我说到这里,如果说不支持开发板的话,应该是不支持芯片才对。SDK翻译后识别的是arm结构(纯粹的猜测),所以只要具备arm结构就可以了。大家应该知道nios生成的普通的cpu吧。就是片内CPU(如果是arm9的话,我会说arm9.如果是早期sopc的生成的cpu,我才会说cpu)。到底SDK翻译后,去识别芯片或者生成CPU系统的时候,是识别的什么我不知道。所以是否能在非soc器件里面生成一个出来,我就不知道了。从我目前的感觉来说,目前的SDK应该还不行,我感觉应该是想把nios生成cpu的核ip淘汰,直接使用arm9吧。所以无论是quartus还是SDK,估计后来的版本也应该不会支持说在非soc器件里面生成cpu。按照这样说,和开发板无关和芯片有关。应该支持所有的SOC开发板才对。如果说和开发板直接有关系的,应该是quartus的引脚布局。既然是altera的器件。没有理由说quartus不支持。
所以,我感觉opencl应该支持所有的soc开发板才对。只是理论分析。里面依然存在很多不确定因素。给位去验证吧。问题教给你们啦。