The invention provides a data transmission method and device. The method includes: establishing concurrent data structure in memory for storing application layer data, compiling related data and hardware layer data, establishing multiple threads, acquiring application layer data corresponding to data to be processed and storing it to the concurrent data structure, accessing the concurrent data concurrently by using the multiple threads. Structure, and perform operations according to the set function division of labor to convert the application layer data corresponding to the data to be processed into the hardware layer data corresponding to the data to be processed, and send the hardware layer data corresponding to the data to be processed to the coprocessor for processing. Through the above scheme, the response speed of the host system can be improved, and the data transmission efficiency between the host and the coprocessor can be improved.
【技术实现步骤摘要】
数据传输方法及装置
本专利技术涉及计算机
,尤其涉及一种数据传输方法及装置。
技术介绍
随着摩尔定律的终结,专用芯片作为协处理器迎来了“黄金”时代。专用芯片基本上都是采用类似于单指令多数据流(SIMD)的设计架构处理数据,例如,一些图形处理器(GPU)、张量处理器(TPU)等。这些专用芯片在处理数据时,数据搬运是影响其性能的关键,包括从主机端搬运到协处理器端,以及从协处理器端读取结果数据。为了提高数据传输效率,各界提出了多种优化方法,例如,采用新型的存储器GDDR5X将GPU的带宽提高到12Gbps,通过数据压缩减少数据传输时间等。通过这些技术,用户在调用协处理器加速应用时的等待时间减少了,系统的流畅度提升了。同时,用户对传输效率的要求也不断提高。因此,主机端和协处理器端之间的数据传输效率仍需进一步提高。
技术实现思路
有鉴于此,本专利技术提供了一种数据传输方法及装置,以提高主机端系统的响应速度,从而进一步提高主机端和协处理器端之间的数据传输效率。为了实现上述目的,本专利技术采用以下方案:在本专利技术一个实施例中,数据传输方法,包括:在内存中建立用于保存应用层数据、编译相关数据及硬件层数据的并发数据结构,建立多个线程,以及获取待处理数据所对应的应用层数据并保存至所述并发数据结构;利用所述多个线程并发访问所述并发数据结构,并按设定功能分工执行操作,以将所述待处理数据所对应的应用层数据转换成所述待处理数据所对应的硬件层数据;将所述待处理数据所对应的硬件层数据发送至协处理器进行处理。在本专利技术一个实施例中,数据传输装置,包括:构建单元,用于在内存中建立用于保 ...
【技术保护点】
1.一种数据传输方法,其特征在于,包括:在内存中建立用于保存应用层数据、编译相关数据及硬件层数据的并发数据结构,建立多个线程,以及获取待处理数据所对应的应用层数据并保存至所述并发数据结构;利用所述多个线程并发访问所述并发数据结构,并按设定功能分工执行操作,以将所述待处理数据所对应的应用层数据转换成所述待处理数据所对应的硬件层数据;将所述待处理数据所对应的硬件层数据发送至协处理器进行处理。
【技术特征摘要】
1.一种数据传输方法,其特征在于,包括:在内存中建立用于保存应用层数据、编译相关数据及硬件层数据的并发数据结构,建立多个线程,以及获取待处理数据所对应的应用层数据并保存至所述并发数据结构;利用所述多个线程并发访问所述并发数据结构,并按设定功能分工执行操作,以将所述待处理数据所对应的应用层数据转换成所述待处理数据所对应的硬件层数据;将所述待处理数据所对应的硬件层数据发送至协处理器进行处理。2.如权利要求1所述的数据传输方法,其特征在于,在内存中建立用于保存应用层数据、编译相关数据及硬件层数据的并发数据结构,包括:利用C++的map数据结构在内存中建立用于保存应用层数据、编译相关数据及硬件层数据的至少一个数据表;根据所述至少一个数据表生成并发数据结构。3.如权利要求2所述的数据传输方法,其特征在于,根据所述至少一个数据表生成并发数据结构,包括:利用C++11的并发API根据所述至少一个数据表生成基于锁的并发数据结构。4.如权利要求2所述的数据传输方法,其特征在于,所述至少一个数据表包括:用于保存应用层数据的至少一个表、用于保存编译相关数据的至少一个表及用于保存硬件层数据的至少一个表。5.如权利要求1所述的数据传输方法,其特征在于,利用所述多个线程并发访问所述并发数据结构,并按设定功能分工执行操作,以将所述待处理数据所对应的应用层数据转换成所述待处理数据所对应的硬件层数据,包括:利用主线程调用编译器;利用第一子线程访问所述并发数据结构,获取所述待处理数据所对应的应用层数据,并利用调用的所述编译器对所述待处理数据所对应的应用层数据中的至少部分属性的数据进行编译,生成所述待处理数据所对应的编译结果数据并将其保存至所述并发数据结构;利用第二子线程访问所述并发数据结构,获取所述待处理数据所对应的编译结果数据,并根据所述待处理数据所对应的编译结果数据进行地址映射,生成所述待处理数据所对应的硬件层数据并将其保存至所述并发数据结构;所述多个线程包括所述主线程、所述第一子线程及所述第二子线程。6.如权利要求5所述的数据传输方法,其特征在于,利用第一子线程访问所述并发数据结构,获取所述待处理数据所对应的应用层数据,并利用调用的所述编译器对所述待处理数据所对应的应用层数据中的至少部分属性的数据进行编译,生成所述待处理数据所对应的编译结果数据并将其保存至所述并发数据结构,包括:利用第一子线程访问所述并发数据结构中用于保存所述待处理数据所对应的应用层数据的应用数据表,读取所述待处理数据所对应的应用层数据中的部分属性的...
【专利技术属性】
技术研发人员:龚施俊,江树浩,鄢贵海,
申请(专利权)人:中科驭数北京科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。