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。方便使用。

KTL 一个支持C++14编辑公式的K线技术工具平台 - 第七版,体验GPGPU。的更多相关文章
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第六版,支持OpenGL,3D上帝视角俯视K线概貌。
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- KTL 一个支持C++14编辑公式的K线技术工具平台 - 第四版,稳定支持Qt5编程,zqt5语法升级,MA函数提升性能1000%,更多公式算法的内置优化实现。
K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...
- 一个支持DbFirst、ModelFirst和CodeFirst的数据库小工具DbTool
DbTool 一个支持DbFirst.ModelFirst和CodeFirst的数据库工具. 简介 这是一个针对 SqlServer 数据库和 C# 开发语言的小工具,可以利用这个小工具生成数据库表对 ...
- 小白学Python(14)——pyecharts 绘制K线图 Kline/Candlestick
Kline-基本示例 from pyecharts import options as opts from pyecharts.charts import Kline data = [ [2320.2 ...
- python 开发一个支持多用户在线的FTP
### 作者介绍:* author:lzl### 博客地址:* http://www.cnblogs.com/lianzhilei/p/5813986.html### 功能实现 作业:开发一个支持多用 ...
- SQL点滴14—编辑数据
原文:SQL点滴14-编辑数据 数据库中的数据编辑是我们遇到的最频繁的工作,这一个随笔中我来总结一下最常用的数据编辑. select into 经常遇到一种情况是,我们希望创建一个新表,表中的数据来源 ...
- 在Office上怎么用MathType编辑公式
随着无纸化的办公程序越来越深入普及到社会的各个层面,很多资料都是电子档.从前手写的内容全都转换到了电脑上.用Office办公时,有一个很大的问题,那就是其中的公式要怎么编辑? 从前用手写毫无困难,什么 ...
- 怎么让Word编辑公式又快又好
现在很多办公学习都是在电脑中进行的.很多文件论文都是在Word中编写定稿以后再打印成册或者去投稿.毫无疑问,在Word中编辑各种各样的文字与符号是一项现在社会中非常必要的技能,而这其中一项就是对公式的 ...
随机推荐
- uTools .SRT 转 .VTT 格式转换自动化小工具
不想用网上的转换工具,要有网,先上传,再下载,可能还要看广告.有些工具也不是很方便.打算配合uTools的自动化助手插件搞一个一键格式转换.
- C++篇:第八章_类_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 八.类 (一)类的概念与规则 "子类"和"子类型& ...
- 另类终端「GitHub 热点速览 v.22.15」
作者:HelloGitHub-小鱼干 除了编译器之外,终端也是我们日常打交道的软件之一.但,你用它看过股票吗?OpenBBTerminal 不仅能让你看股票,还能让你用科学的方法进行股票投资.说到投资 ...
- Java学习day41
在力扣刷了几个算法题,对比了自己和优解的差距
- 推荐一个我写的Python库——PyNAS
介绍 PyNAS是一个以Python的Updog的库为基础,制作而来的库 安装 pip安装(推荐) pip install PyNAS 源码安装(推荐) Github: git clone https ...
- Java语言学习day01--6月28日
Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...
- Net程序崩溃了怎么去查找定位问题
工具 这里用到两个工具分别为Procdump+Windbg Procdump:ProcDump是一个命令行实用工具,主要目的是监视应用程序,以便在管理员或开发人员可用于确定峰值的原因期间监视 CPU ...
- 攻防世界-MISC:gif
这是攻防世界新手练习区的第七题,题目如下: 点击下载附件1,得到一个压缩包,解压后得到一些图片 嗯,黑白相间(又是懵逼的时候),又跑去看WP了,说是打开文件出现多个黑白,让人联想到二进制,白色图片代表 ...
- 【ACM程序设计】差分
差分 假设有一个数列,我们需要对数列中的一个区间加上或减去一个值,直接想到的便是对该区间进行一次循环逐项加减. 但是当请求的操作变得非常多的时候,每次请求都进行一次循环会很容易爆时间,因此我们引入了差 ...
- 神经网络 CNN 名词解释
隐藏层 不是输入或输出层的所有层都称为隐藏层. 激活和池化都没有权重 使层与操作区分开的原因在于层具有权重.由于池操作和激活功能没有权重,因此我们将它们称为操作,并将其视为已添加到层操作集合中. 例如 ...