簡體   English   中英

是否可以在CUDA設備中使用SAL(科學算法庫)?

[英]Is it possible to use SAL(Scientific Algorithm Library) in CUDA device?

我有一些包含SAL功能的主機代碼。 SAL函數用於處理大數據。 我想在CUDA設備中適應相同的功能,並分析主機和設備的執行時間。 但是,由於SAL函數是用於主機/ CPU的,因此如何在GPU上允許它們,還是可以從GPU端調用SAL函數?

例如,

cvabsx((COMPLEX *)in, 2, out, 1, size, 0);

上面的SAL函數計算復數的大小。 現在,我想在GPU端進行調整。 這個怎么做? 還是有其他比SAL執行速度更快的庫?

您不能在設備上使用針對x86使用(即,僅針對主機代碼使用,僅使用主機代碼編譯器)編譯的庫。

顯然,GPU兼容的庫(例如CUBLAS和許多其他庫)可以與GPU一起使用。 但是對於大多數普通的編譯庫,它們不能直接與GPU一起用於設備代碼中。

如果您有權訪問該庫的源代碼,那么(理論上)應該可以遍歷該庫的源代碼,並根據需要使用__host__ __device__裝飾函數,然后使用nvcc編譯器重新編譯該庫的源代碼,生成具有設備代碼中可用功能的版本。 (如果它是模板化/標頭庫,則可能只需修飾庫代碼,然后重新編譯您的應用程序即可。)

根據庫的實現,這可能是一項非常艱巨的任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM