<bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>

    KTL 一個支持C++14編輯公式的K線技術工具平臺 - 第七版,體驗GPGPU。

    K,K線,Candle蠟燭圖。

    T,技術分析,工具平臺

    L,公式Language語言使用c++14,Lite小巧簡易。

    項目倉庫:https://github.com/bbqz007/KTL

    國內倉庫:https://gitee.com/bbqz007/KTL 

    CoreAnimation for Windows: https://github.com/bbqz007/xw

    zqt5 一個超簡單的Qt5窗口語法: https://github.com/bbqz007/zhelper-qt5Widgets

    zqlite3 一個超簡單的流式語法,整合封裝Sqlite3 capis 與 SQL 跟 c/c++程序綁定:https://github.com/bbqz007/sqlite3zz

    zgl 一個對OpenGL常規功能api重新抽象封裝。

    KTL提供一個c++14編譯平臺,用戶可以使用c++14編輯自定義技術指標等。

    用戶可以使用crt常用函數,c++標準庫容器以及算法,c++14特性編程。

     

    本期更新內容

    體驗GPGPU。

    1. OpenGL 3.0 FragmentShader

    2. OpenGL 4.3 ComputeShader

    3. Dx11 DirectCompute

    OpenGL3D 添加了mesh示例。

     

     

     

    OpenGL需要編寫glsl版本的kernel,Dx11需要編寫hlsl版本的kernel。(kernel指的是computational kernel)

    vmware 16支持Dx11以及OpenGL4.1,如果使用vmware16只能體驗1,3。

    軟件實現的mesa opengl 12版本只支持到OpenGL 3.0。而OpenGL 3.0是支持浮點Texture的最低版本。

     

    GPGPU分兩個時期。

    以OpenGL 4.3為分水嶺。這個版本開始支持compute shader,對應DX11的DirectCompute。只要硬件支持,只需要編寫compute shader。

    在這之前,人們需要使用fragment shader去完成計算任務。這個鏈接介紹基于OpenGL 3.x的GPGPU編程。

    在早期,人們利用fragment shader運算texture上的數據。并且fragment shader只能讀取texture的數據,不能直接往texture寫入數據,只能將結果寫到framebuffer,然后再將結果從framebuffer復制到texture。終于發展出硬件支持的compute shader,可以直接將結果寫到texture。思路還是一樣,使用GPU的shader去運算texture的數據,將結果輸出到texture。

    所以抽象成4個概念:

    1. Arrays = textures

    2. Kernels = shaders

    3. Computing = drawing

    4. Feedback

    最后的Feedback,可以理解成如何優化多階流水,我們將任務分成加載,計算,輸出,就像cpu指令一樣,通過優化多階流水提高吞吐提升速度。

    另外還有一個概念就是全局不變量 Uniform。

     

    是否使用了GPU就可以提升速度,如果你這樣想,結果可能不會如你所愿。

    GPU并不能簡單地提升你所需要的運算速度。

    GPU與CPU是異構兩個Host,那么一個并不復雜也不龐大的運算任務,就必須徒勞經過CPU內存,CPU,總線,GPU內存,GPU shader運算,GPU內存,總線,CPU,CPU內存。

    因此本次更新只能體驗如何使用GPU來完成運算任務。

    本次展示了如何使用OpenGL編寫簡單的GPGPU程序框架,以及使用GLSL編寫運算kerenl。還有DX11的HLSL。

    如何使用DX11編寫簡單的GPGPU程序框架,可以上微軟文檔官網查找如何編寫DirectCompute。

     

    本次更新的zgl,對Texture2D封裝成一個搬運內存的對象GL3::GpuImage2D,可以alloc,copyFromCpuMemory,copyToCpuMemory。方便使用。

     

     

    <<第二版 多編譯器支持,OpenMP,SIMD支持>>

    <<第三版 Qt支持>>

    <<第四版 zqt5語法升級,SIMD重寫公式函數,性能提升>>

    <<第五版 sqlite3編程支持,sqlite3zz流式語法>>

    <<第六版 OpenGL編程支持,3D上帝視角>>

    <<第七版 體驗GPGPU>>

    <<第八版 數據解析>>

    <<第九版 數據分析工具,增強編程體驗>>

    posted on 2022-06-27 11:16  bbqz007  閱讀(462)  評論(0編輯  收藏  舉報

    免费视频精品一区二区_日韩一区二区三区精品_aaa在线观看免费完整版_世界一级真人片
    <bdo id="4g88a"><xmp id="4g88a">
  • <legend id="4g88a"><code id="4g88a"></code></legend>