摘要: 计算机中表示图形有两种方式,一种是点阵表示,一种是顶点表示。 左图,图形的顶点表示;右图,图形的点阵表示 点阵表示是光栅显示系统显示时所需要的表示形式,光栅化便是将顶点表示转换为点阵表示的过程。而点阵表示转换为顶点表示的过程属于图像识别的范畴,这里不做介绍。 什么是光栅显示?见下图。 (0, 0)( 阅读全文
posted @ 2020-07-22 18:33 专注于GPU的程序员 阅读(946) 评论(0) 推荐(0) 编辑
摘要: 为何最新的OpenGL 看不到 gluPerspective API 最新版本的OpenGL(OpenGL 3.1及更高版本)中取消了对GLU(OpenGL Utility Library)的支持。GLU是一个辅助库,提供了一些便捷的函数和工具函数,用于简化OpenGL编程过程。其中包括 gluPe 阅读全文
posted @ 2023-09-13 09:06 专注于GPU的程序员 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 期望在 Windows 操作系统上,使用 Visual Studio 集成开发环境,开发 SystemC 程序。开发环境搭建步骤如下, 下载并解压 SystemC 安装包。链接:https://www.accellera.org/images/downloads/standards/systemc/ 阅读全文
posted @ 2022-08-19 15:27 专注于GPU的程序员 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 介绍 Tile based rendering,分块渲染。 通过阅读本文,你将知道, 什么是 Tile based rendering Tile based rendering 相较于 Immediate rendering 的优缺点有哪些 渲染 在介绍分块渲染之前,先介绍一下什么是渲染。 如上图, 阅读全文
posted @ 2022-07-21 14:39 专注于GPU的程序员 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 【C/C++】Johny's Software Lab Welcome to Johny’s Software Lab, a blog for all interested in fast software written in C and C++. 【综合】FindHao 科研工作者的自白 【GP 阅读全文
posted @ 2022-07-19 15:39 专注于GPU的程序员 阅读(49) 评论(0) 推荐(0) 编辑
摘要: Roofline 模型 Roof-line Model 解决的,是“计算量为A且访存量为B的模型在算力为C且带宽为D的计算平台所能达到的理论性能上限E是多少”这个问题。 参考资料 Roofline Model与深度学习模型的性能分析 NVIDIA - Nsight Compute - Rooflin 阅读全文
posted @ 2022-07-19 15:14 专注于GPU的程序员 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 场景:使用 cmake 产生一个库 别人使用这个库的时候,需要使用到的是 xxx.so 和 头文件, 因此,在这个库的 CMakeLists.txt 中需要使用 cmake 的语法指定哪一部分的头文件是需要暴露给这个库的使用者的 指定的语法为:$<INSTALL_INTERFACE:xxx> 问题: 阅读全文
posted @ 2022-05-18 10:22 专注于GPU的程序员 阅读(991) 评论(0) 推荐(0) 编辑
摘要: 现在来看一个非常简单的情形:CPU传输数据给GPU。我们使用SystemC来对该情形进行事务级的建模。 CPU是事务的发起者,GPU是事务的接收者。它们通过 Socket连接(注意,这里的Socket不是网络中的那个Socket)。事务发起者的Socket类型是simple_initiator_so 阅读全文
posted @ 2022-05-06 17:22 专注于GPU的程序员 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 相同点 一个时钟周期可以同时执行多条指令 不同点 VLIW 依靠编译器和程序员自身来决定哪些指令可以并行执行 硬件实现较简单 功能比较专一的专用处理器领域 超标量 靠硬件自身来决定哪些指令可以并行地执行 硬件实现较复杂 通用领域的高性能处理器 阅读全文
posted @ 2022-05-05 10:16 专注于GPU的程序员 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 我们知道,NVIDIA的GPU中线程调度的基本单位是Warp,一个Warp包含32个线程。 Warp的出现是为了隐藏指令执行的时延。 假设执行指令如下, add r2, r0, r1 // r0 + r1 -> r2 add r5, r3, r4 // r3 + r4 -> r5 load r6 [ 阅读全文
posted @ 2022-05-05 10:14 专注于GPU的程序员 阅读(1296) 评论(0) 推荐(0) 编辑
摘要: 处理器的执行流水线通常分为5个阶段,分别为:取指、译码、访存、执行和写回。这里的访存指的是访问寄存器。 假设每个阶段只占用一个时钟周期,那么这个5级流水线的处理器每个时钟周期可以执行一条指令。如下图, 如果前一条指令的目的寄存器是当前指令的源寄存器,如: add r2, r0, r1 // r0 + 阅读全文
posted @ 2022-05-05 09:26 专注于GPU的程序员 阅读(280) 评论(0) 推荐(0) 编辑