[問題] cuComplex 轉成 float

看板C_and_CPP作者 (陳小呆)時間12年前 (2013/06/22 21:31), 編輯推噓2(2023)
留言25則, 6人參與, 最新討論串1/1
開發平台(Platform): visual studio 2010 額外使用到的函數庫(Library Used): 問題(Question): 由於作業需要用到CUDA求FFT後轉絕對值存入LABVIEW 算到CUDA的FFT都OK沒問題 不過在資料中他是屬於會存放實數跟虛數兩部分,實數為a.x,虛數為a.y 那想請問我該如何把他們從GPU的RAM裡面取出至主機的RAM呢? 由於他們的形式是 cucomplex 我又該如何把他們轉成float之類的呢?因為要再把他丟入LABVIEW進行後續運算 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.10.176

06/22 22:18, , 1F
有實數虛數你要怎樣轉成float?數學上就說不通
06/22 22:18, 1F

06/22 22:53, , 2F
對就是說不通 所以我想把他轉成絕對值後再放進去
06/22 22:53, 2F

06/22 22:53, , 3F
然後就卡死了QAQ
06/22 22:53, 3F

06/23 00:00, , 4F
自己定義資料型態?
06/23 00:00, 4F

06/23 00:24, , 5F
ADT嗎 = ="
06/23 00:24, 5F

06/23 00:26, , 6F
我現在是稍微改了一點方式 我等等PO上程式碼
06/23 00:26, 6F
程式碼在這裡: http://codepad.org/rK11Ou8n 目前狀況是在VS2010內部DLL RUN過後沒有錯誤 然後丟在LABVIEW裡面會出現 error 1097 的標號這樣 不知道該如何解決 ※ 編輯: jackydie1007 來自: 120.126.10.176 (06/23 00:28)

06/23 07:40, , 7F
可能是對 array 的存取超出範圍
06/23 07:40, 7F

06/23 16:52, , 8F
ARRAY存取超過範圍? 不太懂
06/23 16:52, 8F

06/23 16:53, , 9F
我在LABVIEW裡面是給1024個隨機數據丟入這樣
06/23 16:53, 9F

06/23 16:53, , 10F
然後輸出看結果,就會跳出ERROR1097
06/23 16:53, 10F

06/23 16:53, , 11F
選擇繼續之後數據也是出不來這樣子 整個卡住了
06/23 16:53, 11F

06/23 17:43, , 12F
也許是你用來輸出的 array 沒有配置 1024 個空間
06/23 17:43, 12F

06/23 22:57, , 13F
27行 malloc的size?
06/23 22:57, 13F

06/24 01:32, , 14F
其實我不太懂SIZE要怎麼設定...QQ
06/24 01:32, 14F

06/24 01:32, , 15F
單純只是想說要1024...
06/24 01:32, 15F

06/24 03:27, , 16F
只要是 malloc 的相關函式,單位都是 byte
06/24 03:27, 16F

06/24 03:28, , 17F
因此 1024 個 float 每個佔 sizeof(float) 個 byte
06/24 03:28, 17F

06/24 03:29, , 18F
總共就要配置 1024 * sizeof(float) 大小的空間
06/24 03:29, 18F

06/24 08:50, , 19F
!!好我今天再來去試試看 下午或晚上再回報!!感謝您!!
06/24 08:50, 19F

06/24 21:33, , 20F
記憶體的分配搞定了!!!!可是
06/24 21:33, 20F

06/24 21:34, , 21F
輸出部分輸出不出來..DLL的輸出寫法出錯了嗎QQ
06/24 21:34, 21F

06/24 22:21, , 22F
我的習慣是(type*)malloc(sizeof(type)*n)這樣
06/24 22:21, 22F

06/24 22:58, , 23F
我現在也是改成這樣 錯誤就沒有跳出來了!C版好棒
06/24 22:58, 23F

06/24 22:59, , 24F
不過我現在問題出在DLL輸出出不來 冏
06/24 22:59, 24F

06/24 22:59, , 25F
有人知道怎麼結合LABVIEW跟C嗎:(?
06/24 22:59, 25F
文章代碼(AID): #1HnQSS6u (C_and_CPP)