码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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。方便使用。

     

     

  • 相关阅读:
    将imagenet2012数据为tensorflow格式
    DEFORMABLE DETR:用于端到端对象检测的可变形Transformer
    ACP证书是什么?考了有用吗?
    LeetCode题目笔记——2486. 追加字符以获得子序列
    idea2018修改大小写提示(敏感)信息
    研发管理和项目管理有哪些痛点
    03在命令行环境中创建Maven版的Java工程,了解pom.xml文件的结构,了解Java工程的目录结构并编写代码,执行Maven相关的构建命令
    中国传统节日春节网页HTML代码 春节大学生网页设计制作成品下载 学生网页课程设计期末作业下载 DW春节节日网页作业代码下载
    y106.第六章 微服务、服务网格及Envoy实战 -- 可观测应用之指标和日志(十七)
    HAproxy+Nginx7层负载均衡
  • 原文地址:https://www.cnblogs.com/bbqzsl/p/16389251.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号