本技术涉及一种方法、装置、设备、计算机程序产品和存储介质,用于将数据库数据传输至GPU显存。计算机设备持续从数据库读取目标数据至CPU内存,然后通过DMA技术直接传输至GPU显存,实现高效数据传输。
背景技术
当前Nvidia GPU已经能够提供很高的数据并行计算能力。GPU Direct Storage(GPU 直接存储技术)使得GPU能够直接读取文件,而无需经过CPU。这种直接访问大大减少了数据传输的延迟,提高了数据读取的速度和整体系统性能。但是,当面对从数据库进行取数的需求时,GPU Direct Storage并没有提供相应的解决方案。
Rapids CUDF作为一个开源库,提供了丰富的数据处理功能,能够在GPU上高效地处理数据。CUDF支持多种文件格式的读取,包括CSV、Parquet、JSON、ORC和AVRO等,这些文件可以直接被加载到GPU显存中形成DataFrame,从而利用GPU的并行计算能力进行数据处理。
然而,CUDF目前也不支持直接从数据库中读取数据。用户需要先将数据从数据库读取到CPU内存中,再借助CUDF将数据拷贝至GPU显存中。该过程往往占据过高的CPU内存,这不仅限制了可以处理的数据量,还可能导致内存溢出等问题。并且,CPU读完数据后再进行传输,使得处理传输性能不高。同时,该传输过程还会带来额外的开销,降低系统的整体性能,增加处理时间。
实现思路