目前覺得最適合gpu的大概就是griding運算了,
各結果沒有相依性,但是有記憶體不夠的問題,
由於輸入資料輸出資料的密度一高,很容易就記憶體不夠,
造成程式實作難度大幅增加,
且由於一般的顯卡記憶體除了要給你計算,
還需要顯示電腦畫面,但一般人的顯卡只有512mb,
所以基本上輸出入的資料不能超過400mb,
而且基本上只能用float不能用double,
除非是很好很好的顯卡,可惜一般人沒有,
不過這樣也省了一半的空間,
不過說真的200/200mb的輸入輸出記憶體,
拿來做科學計算實在很不夠,
原始的raw data本來就資料量龐大了,
基本上要x, y, z, data1, data2 ...
一組資料至少要4個double或float,
一個地區的資料可能會有200*200*50的資料,
大約15.25mb,感覺還好耶~
不過重點在輸出,如果輸出密度很高的話,
就不好說了,之前就遇到4800*4800*500的,
就爆了,總之有空時應該要想個演算法來解決,
而且不要算太慢。
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(19)
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(25)
是一種硬體平台相依的語言,
感覺跟寫組語差不了多少,
記憶體放哪、記憶體讀取方式、
跟主記憶體溝通方式、使用的是暫存器還是用哪四種什麼存、
如何共享記憶體、同步、解決浮點數誤差、
跟記憶體管理、動態分配五種記憶體、
根據顯卡來最佳化執行策略、
要開多少thread、要用幾個暫存器、
總之,會那麼麻煩一切都是為了快,gpu通常只有1gz,
暫存器32bits總共有16mb~64mb大,
沒有L1, L2 cache, 沒有branch, 詳細請看高級計算機結構。
以下分析一下問題種類:
一.完全平行
此種問題,只需要連自己的id是多少都不用知道,只要算就對了。
或是只要給定目前是第幾個執行的thread就好的也算。
這種問題的優化效率一般來說是100倍~25000倍以上,
這通常是可以發揮gpu的全力。
二.可用加法律分解的問題
像是矩陣相乘、10000個數全部加起來這種,
差距比較是一個固定比。
簡單來說就是
(a+b)+(c+d) = (a+d) + (b+c)
(Ma*Mb)*Mc*Md = Ma*(Mb*Mc)*Md
這種問題的優化效率是2^x
就是問題愈大gpu與cpu差距愈明顯,
值得一提的是這種差距比例gpu一定不會比第一種還好。
三.幾乎不可能平行的相依性問題
ex. 動態規畫, 以上一個亂數為基礎的亂數產生器... ...
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(103)

最近在用vtk做資料虛擬化,只能說vtk能靜不能動,
就是沒辨法任意的移動資料點。
真的是,唉~
這是可以讀nmea的程式,說真的,我好想開飛機來跑gps
http://geology.googlecode.com/files/fishfinding.7z
到時應該會再做個換語言的補丁。
目前最需要的就是griding了,
圖學中,每天都在內插內插,幹,看我怎麼插爆你!
此插 interpolation 最近又去惡補了牛噸內插、多項式內插、反距離、克利金... ...
還有一堆人名的內插方法,還要用KD樹來內插......。
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(108)
http://portableapps.com/
可以不安裝的執行,重點是有幫你做捷徑,
這樣以後我玩stepmania之類的就有選單了,
只要把程式丟到PortableApps的資料夾就可以了。
會自動出現exe的捷徑。
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(35)
PicObject* tmpobj = NULL;
const int size = vPic.size();
int i;
for (i = 0;i < size;i++)
{
if (vPic[i].pobj.id == ID)
{
tmpobj = &(vPic[i].pobj);
printf("vPic[i]:%d tmpobj:%d ID:%d\n", vPic[i].pobj.id, tmpobj->id, ID);
vPic.erase(vPic.begin()+i);
break;
}
}
if (NULL != tmpobj)
{
m_FlatRenderDx9.DelPicObject(tmpobj);
}
讓地獄深紅的天亮 發表在 痞客邦 留言(1) 人氣(28)
最近拿到了一個漁測機,抓魚那種,超貴的,
可以測GPS 水深 水溫 等...
測出來用RS232輸出,而這個純文字的格式叫NEMA
網路上有它的程式庫 http://nmea.sourceforge.net/
這個程式庫是純C寫的,所以可以在嵌入式系統跑的樣子,
這是一個國際通用的地理資料格式,總之人眼是看不太懂的,
但是還蠻有趣的。
讓地獄深紅的天亮 發表在 痞客邦 留言(0) 人氣(74)