发明名称 |
为了由通用处理器执行而对应用程序重定目标的计算系统 |
摘要 |
本发明公开了一种为了用于由通用处理器执行而对应用程序重定目标。本发明的一个实施例提出了一种技术,用于将使用并行编程模型编写的用于在多核图像处理单元(GPU)上执行的应用程序翻译成用于由通用处理单元(CPU)执行。所述应用程序中依赖于多核GUP的特定特征的部分由翻译器转换成由通用CPU执行。所述应用程序被划分为同步独立指令区域。所述指令被分类为收敛的或发散的,并且在区域之间共享的发散存储器基准被复制。插入线程循环,以确保在由通用CPU执行期间各种线程之间存储器的正确共享。 |
申请公布号 |
CN101556544B |
申请公布日期 |
2013.09.18 |
申请号 |
CN200910117898.X |
申请日期 |
2009.04.09 |
申请人 |
辉达公司 |
发明人 |
维诺德·格罗夫;巴斯蒂安·约翰·马特乌斯·阿特斯;迈克尔·墨菲;鲍里斯·柏林;贾扬特·B·科尔希;道格拉斯·塞勒 |
分类号 |
G06F9/45(2006.01)I;G06F9/46(2006.01)I;G06T1/00(2006.01)I |
主分类号 |
G06F9/45(2006.01)I |
代理机构 |
北京市磐华律师事务所 11336 |
代理人 |
董巍;顾珊 |
主权项 |
一种计算系统,所述计算系统被配置用于将应用程序翻译为由通用处理器来执行,所述计算系统包括:用于接收第一应用程序的装置;用于将所述第一应用程序划分为同步独立指令的区域以生成划分后的应用程序的装置;用于将所述划分后的应用程序进行分类,以便识别每个语句相对于合作线程阵列维度是收敛的还是发散的的装置,其中引用了所述合作线程阵列维度中的线程身份的操作被认为是发散的;以及用于在至少其中一个划分后的应用程序区域周围插入循环,以生成第二应用程序的装置;其中所述循环在其变量向量中包含线程身份维度的语句周围对所述线程身份维度生成;其中所述循环在所述合作线程阵列维度上进行迭代,所述合作线程阵列维度对应于由多核图像处理单元内的并行处理器同时执行的多个线程;其中,所述第一应用程序使用并行编程模型来编写以用于在所述多核图像处理单元上执行,所述第二应用程序被配置用于由所述通用处理器执行。 |
地址 |
美国加利福尼亚州 |