使用Brahma在GPU上執行LINQ
Brahma是一個用于并行計算的開源庫,它由C#編寫并支持在多種處理器上運行。目前,Brahma僅包含一個圖形處理器(GPU)模塊,但是它的模塊化結構可以支持更多種類的處理器。使用Brahma,同一個C#方法中的語句可以同時運行在CPU和GPU上,而不需要額外的代碼。
Brahma是一個用于并行計算的開源庫,它由C#編寫并支持在多種處理器上運行。目前,Brahma僅包含一個圖形處理器(GPU)模塊,但是它的模塊化結構可以支持更多種類的處理器。使用Brahma,同一個C#方法中的語句可以同時運行在CPU和GPU上,而不需要額外的代碼。
若要有效編寫查詢,您應該了解完整的查詢操作中的變量類型是如何全部彼此關聯的。如果您了解這些關系,就能夠更容易地理解文檔中的 LINQ 示例和代碼示例。另外,還能了解在使用 var 隱式對變量進行類型化時的后臺操作。
這不是一篇描述jvm是什么的文章,也不介紹jvm跨平臺的特性,也不是講述jvm安全特性的文章,更不是講解jvm指令操作,數據運算的文章,本文重點講述類型的生命周期。
導讀:本文來自 reay z 的編譯投稿,英文原文《Teaching Java in school is just as controversial as an interview with Justice Gray》寫于2008年7月,原文中某些觀點,現在看來可能不妥。另外,譯文中有些不妥之處,伯樂在線已改進。以下為全文。
因為寫R擴展的需要,我用Rcpp其實有一陣子了。我一直在強調,把方便和豐富的R環境與系統級語言如C/C++等結合才是適合我現時計算的王道。但R自帶的C/C++的API接口實在是太難用,很是限制人的使用欲望。我試圖把它們用最簡單的方式敘述過,比如可以看這里和這里。但實際應用中無法因繁就簡,還是避免不了寫一大堆重復代碼,記一大堆生僻的API。于是Rcpp成了我的救星,特別是前兩天升級后,我意外地發現了很多新的特性,雖然還沒真正使用,但估計會使得我的工作更有效率。把這個包的幾篇文檔拿來研究了一番,做了些筆記。
C++這門語言從誕生到今天已經經歷了將近30個年頭。不可否認,它的學習難度都比其它語言較高。而它的學習難度,主要來自于它的復雜性。現在C++的使用范圍比以前已經少了很多,java、C#、python等語言在很多方面已經可以代替C++。但是也有很多地方是其他語言完全無法替代的,主要集中在需要運行效率比較高的行業,比如游戲、高效的服務器。
還記得以前本站的一篇文章《如何在Google App Engine上運行PHP》嗎,其實那是借用 Quercus, 一個 100% 的用Java 實現的一個 PHP 引擎。今天,這樣的東西太多了,能運行在Java的虛擬機JVM上的程序意味著有天然的跨平臺性,現在JVM并不單單只能運行Java程序,在JVM上出現了若干使用Java虛擬機運行的腳本程序,比如什么PHP, Python, Ruby等等,這里有一篇文章評論了在JVM上的可以運行的排名前五腳本語言。他們分別是: