【技术实现步骤摘要】
基于CUDA的数据处理方法、计算设备及存储介质
[0001]本申请涉及数据处理
,特别涉及一种基于CUDA的数据处理方法、计算设备及存储介质。
技术介绍
[0002]在基于CUDA(Compute Unified Device Architecture,统一计算设备架构)的HPC (High Performance Computing,高性能计算) 软件开发过程中,数据不能直接加载到显存中,需要在内存中预先申请对应的内存空间存放输入数据,显存中也需要申请一样大小的显存空间存放输入数据,供显卡计算时访问使用。
[0003]通常的计算流程是,先将输入数据从内存拷贝到显存,显卡进行计算,然后将输出结果存放在显存中,再将结果从显存中拷贝至内存中。
[0004]目前为输入数据申请内存和显存空间时,需要根据不同的数据类型分开申请,内存和显存之间的数据拷贝也是根据不同的数据类型分开进行。
[0005]上述操作方式主要有以下几个弊端:1、多次内存和显存申请。显存的申请是一个较为耗时的开销,按照传统的开发模式,不 ...
【技术保护点】
【技术特征摘要】
1.一种基于CUDA的数据处理方法,其特征在于,所述方法应用于计算设备,所述方法包括:获取至少一个待处理任务的输入数据,所述输入数据包含至少两种不同数据类型的数据;确定所述至少一个待处理任务的输入数据所需的总存储空间大小;根据所述总存储空间大小,向所述计算设备的内存申请第一存储空间,以及向所述计算设备的显存申请第二存储空间;将所述至少一个待处理任务的输入数据进行序列化后存放在所述第一存储空间;从所述第一存储空间将序列化后的输入数据拷贝到所述第二存储空间进行存储;对所述第二存储空间中存储的输入数据进行反序列化,并利用反序列化得到的输入数据对所述至少一个待处理任务进行任务计算。2.根据权利要求1所述的方法,其特征在于,当所述至少一个待处理任务包括多个待处理任务时,所述确定所述至少一个待处理任务的输入数据所需的总存储空间大小,包括:根据预设任务计算算法,确定每一个所述待处理任务的任务类型;当所述多个待处理任务均为同一任务类型时,计算所述多个待处理任务中的目标待处理任务的输入数据所需的存储空间大小;根据所述多个待处理任务的任务数量以及所述目标待处理任务的输入数据所需的存储空间大小,计算得到所述多个待处理任务的输入数据所需的总存储空间大小。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当所述多个待处理任务的任务类型均不相同时,计算每一个所述待处理任务的输入数据所需的存储空间大小,并求和,得到所述多个待处理任务的输入数据所需的总存储空间大小。4.根据权利要求1所述的方法,其特征在于,所述第一存储空间与所述第二存储空间的大小相等,均大于或等于所述总存储空间大小。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述至少一个待处理任务进行任务计算后,分别得到对应的输出数据;根据所述至少一个待处理任务的输出数据,向所述计算设备的内存申请第三存储空间,以及向所述计算设备的显存申请第四存储空间;将所述至少一个待处理任务的输出数据存放在所述第四存储空间;从所述第四存储空间将所述至少一个待处理任务的输出数据拷贝到所述第三存储空间进行存储。6.根据权利要求1所述的方法,其特征在于,所述确定所述至少一个待处理任务的输入数据所需的总...
【专利技术属性】
技术研发人员:林晓露,
申请(专利权)人:深圳晶泰科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。