本發明專利技術公開了一種基于GPU的高速打印方法、裝置、設備及存儲介質,涉及噴墨打印技術領域。所述方法通過在打印設備的主機中集成N個GPU,并將待處理數據劃分為N份第一數據,分別傳輸至N個GPU中,每個GPU進一步將第一數據劃分為K份第二數據,然后啟動GPU的K個線程對K份所述第二數據進行數據處理得到第三數據;然后將所述第三數據傳輸至CPU中并分發到所述打印設備的下位機進行打印。本發明專利技術通過借助GPU算力完成超大數據量處理,提升數據處理效率、提升打印速度和打印效率,可支持多噴頭的高速打印。印。印。
【技術實現步驟摘要】
基于GPU的高速打印方法、裝置、設備及存儲介質
[0001]本專利技術涉及噴墨打印
,尤其涉及一種基于GPU的高速打印方法、裝置、設備及存儲介質。
技術介紹
[0002]隨著噴印技術發展,打印設備所使用的噴頭越來越多,單位時間內需要處理數據量越來越來大,現有的打印設備中多使用單臺計算機(主機)進行數據處理,但是隨著數據量的增大,單主機算力難以負擔。提高算力的一種方法是使用分布式系統,讓多臺主機協同運算來提升算力,但是主機之間的傳輸帶寬往往不會太高,因此傳輸的帶寬往往成為算力提升的瓶頸。
[0003]隨著GPU算力的不斷提升,GPU在通用計算領域使用地越來越多,異構計算被廣泛用于科學計算、高性能圖像處理等多種場合。GPU和CPU之間的數據傳輸使用高性能的PCI
?
E 3.0、PCI
?
E 4.0,甚至隨著技術的發展將使用更高性能的傳輸方式,其速度遠超多主機之間的數據傳輸。而且一塊GPU的成本要比一臺計算機的成本低很多,此外,同等成本的GPU在并行計算方面的性能要超出CPU 8倍以上。如何使用GPU完成超大打印數據的處理從而支持多噴頭的高速打印在目前的打印
顯得尤為重要。
技術實現思路
[0004]有鑒于此,本專利技術實施例提供了基于GPU的高速打印方法、裝置、設備及存儲介質,用以解決現有技術中在多噴頭高速打印應用中CPU算力不足導致打印效率低下的問題。
[0005]第一方面,本專利技術實施例提供了一種基于GPU的高速打印方法,在打印設備的主機中集成N個GPU,所述方法包括:
[0006]將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據;
[0007]將每個GPU對應的第一數據進一步拆分為K份第二數據;
[0008]啟動GPU中的K個線程對K份所述第二數據進行數據處理得到第三數據;
[0009]將所述第三數據傳輸至CPU中并分發到所述打印設備的下位機進行打印;
[0010]其中,N、K為大于等于1的自然數。
[0011]優選地,所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:
[0012]啟動CPU將所述待處理數據劃分為N份所述第一數據;
[0013]啟動N個CPU線程,分別將N份所述第一數據發送至對應的GPU;
[0014]響應于數據接收指令,GPU接收所述第一數據并存儲于其DDR中。
[0015]優選地,在所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據之前還包括:
[0016]獲取待處理數據的數據量;
[0017]根據所述數據量確定拆分份數P,其中P為小于等于N的自然數;
[0018]所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:
[0019]所述將待處理數據拆分為P份第一數據,分別傳輸至P個GPU中,每一個GPU對應一份所述第一數據。
[0020]優選地,當向所述主機輸入M個打印任務,M為大于等于2的自然數,每個打印任務對應一待處理數據,在所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據之前還包括:
[0021]按M個所述打印任務的優先級將其對應的M個待處理數據分為若干份待處理數據包并標記所述若干份待處理數據包的優先級,記為第一優先級;
[0022]所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:
[0023]根據所述第一優先級依次將若干所述待處理數據包拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據。
[0024]優選地,所述方法還包括:
[0025]當接收到優先級比當前打印任務高的第一打印任務時,獲取所述第一打印任務的待處理數據;
[0026]當當前空閑的GPU數量為K時,根據當前空閑的GPU數量確定所述第一打印任務的待處理數據的拆分份數K,其中K為大于等于1的自然數;
[0027]啟動CPU將所述第一打印任務的待處理數據拆分為K份第四數據;
[0028]啟動K個CPU線程,分別將K份所述第四數據發送至對應的GPU;
[0029]當前空閑的GPU數量為0時,將所述第一打印任務的待處理數據拆分為N份,并將所述N個CPU線程優先用于將所述第四數據發送至對應的GPU。
[0030]優選地,所述啟動GPU中的K個線程對K份所述第二數據進行數據處理得到第三數據包括:
[0031]根據GPU的核心數M啟動K個線程,其中,K大于等于M,M為大于等于1的自然數;
[0032]控制K個線程分別從相應的DDR中讀取所述第二數據;
[0033]對所述第二數據進行數據處理得到所述第三數據。
[0034]優選地,所述方法還包括:
[0035]將第五數據傳輸至指定GPU的緩存中;
[0036]所述對第二數據進行數據處理得到所述第三數據包括:利用所述第五數據進行所述第二數據的數據處理得到所述第三數據。
[0037]優選地,所述第五數據為數據查找表、數據索引、數據拆分表、羽化模板中的任一種、兩種或多種。
[0038]優選地,所述數據處理包括加網處理、羽化處理、鏡像處理、拆分處理、抽點處理中的任一種、兩種或多種。
[0039]優選地,在啟動N個CPU線程,分別將N份所述第一數據發送至對應的GPU之后,所述方法還包括:
[0040]利用N個所述CPU線程完成指定任務。
[0041]第二方面,本專利技術實施例提供了一種基于GPU的高速打印裝置,所述裝置包括:
[0042]第一拆分模塊,用于將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據;
[0043]第二拆分模塊,用于將每個GPU對應的第一數據進一步拆分為K份第二數據;
[0044]數據處理模塊,用于啟動GPU中的K個線程對K份所述第二數據進行數據處理得到第三數據;
[0045]回傳模塊,用于將所述第三數據傳輸至CPU中并分發到所述打印設備的下位機進行打印;
[0046]其中,N、K為大于等于1的自然數。
[0047]第三方面,本專利技術實施例提供了一種打印設備,包括:至少一個處理器、至少一個存儲器以及存儲在存儲器中的計算機程序指令,當計算機程序指令被處理器執行時實現如上述實施方式中第一方面的方法。
[0048]第四方面,本專利技術實施例提供了一種存儲介質,其上存儲有計算機程序指令,當計算機程序指令被處理器執行時實現如上述實施方式中第一方面的方法。
[0049]綜上所述,本專利技術的有益效果如下:
[0050]本專利技術實施例提供的基于GPU的高速打印方法、裝置、設備及存儲介質,通過在本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于GPU的高速打印方法,其特征在于,在打印設備的主機中集成N個GPU,所述方法包括:將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據;將每個GPU對應的第一數據進一步拆分為K份第二數據;啟動GPU中的K個線程對K份所述第二數據進行數據處理得到第三數據;將所述第三數據傳輸至CPU中并分發到所述打印設備的下位機進行打印;其中,N、K為大于等于1的自然數。2.根據權利要求1所述的基于GPU的高速打印方法,其特征在于,所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:啟動CPU將所述待處理數據拆分為N份所述第一數據;啟動N個CPU線程,分別將N份所述第一數據發送至對應的GPU;響應于數據接收指令,GPU接收所述第一數據并存儲于其DDR中。3.根據權利要求1所述的基于GPU的高速打印方法,其特征在于,在所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據之前還包括:獲取待處理數據的數據量;根據所述數據量確定拆分份數P,其中P為小于等于N的自然數;所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:將所述待處理數據拆分為P份第一數據,分別傳輸至P個GPU中,每一個GPU對應一份所述第一數據。4.根據權利要求1所述的基于GPU的高速打印方法,其特征在于,當向所述主機輸入S個打印任務,S為大于等于2的自然數,每個打印任務對應一待處理數據,在所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據之前還包括:按M個所述打印任務的優先級將其對應的S個待處理數據分為若干份待處理數據包并標記所述若干份待處理數據包的優先級,記為第一優先級;所述將待處理數據拆分為N份第一數據,分別傳輸至N個GPU中,每一個GPU對應一份所述第一數據包括:根據所述第一優先級依次將若干所述待處理數據包拆分為N份第一數據,分別傳輸至N個GPU中,每一個GP...
【專利技術屬性】
技術研發人員:劉衍科,馮凌偉,陳艷,黃中琨,
申請(專利權)人:深圳市漢森軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。