1.一种编译方法,包括:
获取源文件集合,所述源文件集合包括至少一种类型的源文件;
获取与所述源文件集合相关联的对象集合的目录集合;
针对所述目录集合中的第一目录,基于所述第一目录包括与第一类型的源文件相关联的第一对象集合,将与所述第一对象集合相关联的源文件组合成第一源文件子集;以及对所述第一源文件子集作为整体进行编译。
2.根据权利要求1所述的方法,其中获取所述目录集合包括:基于构建系统的配置文件来获取所述目录记录。
3.根据权利要求1所述的方法,其中所述第一类型的源文件包括CUDA类型的源文件。
4.根据权利要求3所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
使用include方式与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
5.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译将不产生冲突,来将与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
6.根据权利要求5所述的方法,其中所述冲突包括命名冲突。
7.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;以及基于所述冲突的原因,向所述源文件添加以下之一:前预处理宏;以及
后预处理宏。
8.根据权利要求1所述的方法,其中将与所述第一对象集合相关联的源文件组合成第一源文件子集包括:
基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;
从所述第一源文件子集移除产生所述冲突的所述源文件;并且对所述第一源文件子集作为整体进行编译包括:对移除了产生所述冲突的所述源文件的所述第一源文件子集作为整体进行编译。
9.根据权利要求1所述的方法,其中所述第一目录是所述目录集合中的最末端的目录。
10.根据权利要求1所述的方法,还包括:针对所述目录集合中的第二目录,基于所述第二目录包括与所述第一类型的源文件相关联的第二对象集合,将与所述第二对象集合相关联的源文件组合成第二源文件子集;并且
对所述第一源文件子集作为整体进行编译包括:将所述第一源文件子集和所述第二源文件子集组合成第三源文件子集;以及对所述第三源文件子集作为整体进行编译。
11.根据权利要求10所述的方法,其中所述第一目录和所述第二目录之间的关系包括以下之一:
所述第一目录被嵌套在所述第二目录中;以及所述第一目录与所述第二目录并列。
12.一种编译装置,包括:源文件获取模块,被配置为获取源文件集合,所述源文件集合包括至少一种类型的源文件;
第一目录集合获取模块,被配置为与所述源文件集合相关联的对象集合的目录集合;
第一组合模块,被配置为针对所述目录集合中的第一目录,基于所述第一目录包括与第一类型的源文件相关联的第一对象集合,将与所述第一对象集合相关联的源文件组合成第一源文件子集;以及
第一编译模块,被配置为对所述第一源文件子集作为整体进行编译。
13.根据权利要求12所述的装置,其中所述第一目录集合获取模块包括:第二目录集合获取模块,被配置为基于构建系统的配置文件来获取所述目录记录。
14.根据权利要求12所述的装置,其中所述第一类型的源文件包括CUDA类型的源文件。
15.根据权利要求14所述的装置,其中所述第一组合模块包括:第二组合模块,被配置为使用include方式与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
16.根据权利要求12所述的装置,其中所述第一组合模块包括:第三组合模块,被配置为基于确定对所述第一源文件子集进行组合编译将不产生冲突,来将与所述第一对象集合相关联的所述源文件组合成所述第一源文件子集。
17.根据权利要求16所述的装置,其中所述冲突包括命名冲突。
18.根据权利要求12所述的装置,其中所述第一组合模块包括:源文件确定模块,被配置为基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;以及添加模块,被配置为基于所述冲突的原因,向所述源文件添加以下之一:前预处理宏;以及
后预处理宏。
19.根据权利要求12所述的装置,其中所述第一组合模块包括:源文件确定模块,被配置为基于确定对所述第一源文件子集进行组合编译产生冲突,确定所述第一源文件子集中的、产生所述冲突的源文件;
移除模块,被配置为从所述第一源文件子集移除产生所述冲突的所述源文件;并且所述第一编译模块包括:
第二编译模块,被配置为对移除了产生所述冲突的所述源文件的所述第一源文件子集作为整体进行编译。
20.根据权利要求12所述的装置,其中所述第一目录是所述目录集合中的最末端的目录。
21.根据权利要求12所述的装置,还包括:第四组合模块,被配置为针对所述目录集合中的第二目录,基于所述第二目录包括与所述第一类型的源文件相关联的第二对象集合,将与所述第二对象集合相关联的源文件组合成第二源文件子集;并且
所述第一编译模块包括:
第五组合模块,被配置为将所述第一源文件子集和所述第二源文件子集组合成第三源文件子集;以及
第三编译模块,被配置为对所述第三源文件子集作为整体进行编译。
22.根据权利要求21所述的装置,其中所述第一目录和所述第二目录之间的关系包括以下之一:
所述第一目录被嵌套在所述第二目录中;以及所述第一目录与所述第二目录并列。
23.一种电子设备,其特征在于,包括:至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1‑11中任一项所述的方法。
25.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,执行权利要求1‑11中任一项所述的方法。