CUDA学习笔记:简单的并行程序——julia set

CUDA学习笔记:简单的并行程序——julia set

kernel的并行方式 最简单的例子 首先来看一个最经典的场景:向量加法: 对于向量a和向量b,假如我们想得到它们相加的结果c,在CPU(传统cpp)上,我们只能循环遍历每一个元素,比如: for(int i = 0; i < a.size(); i++){ c[i] = a[i] + b[

TileClipper复现与数据对比方法

TileClipper复现与数据对比方法

一些坑点 pyenv与虚拟环境 首先,安装pyenv和 为什么要用不同版本? 用pyenv主要是为了切换py版本。论文用的是py3.8.10,但是py3.8支持的torch所使用的cuda toolkit最新也支持不到cu128。50系显卡目前只能使用cu128的版本,因此可能要为此使用py3.9以

CUDA学习笔记:CUDA入门

CUDA学习笔记:CUDA入门

host代码与device代码 host代码(主机端)指运行在CPU及内存(RAM)上的代码,一般是标准C/CPP代码 device代码(设备端)指运行在GPU及显存(vRAM)上的代码,即声明为__global__的代码(kernel函数) 一个cuda c程序由host代码和device代码两部

Revisiting Chain-of-Thought in Code Generation论文学习

Revisiting Chain-of-Thought in Code Generation论文学习

该论文研究的核心问题是:在代码生成任务中,语言模型是否需要先学会“推理链”(Chain-of-Thought, CoT),再去生成代码? 过往对于CoT的研究主要集中在传统逻辑任务,过往研究已经证实使用CoT进行SFT对传统逻辑任务的输出质量有明显提升。但对于CoT在代码生成相关任务中的研究还非常有

【GAMES101】lecture8 shading2笔记

【GAMES101】lecture8 shading2笔记

这节课虽然内容相对比较浅,但是总量特别多,全部搞懂还是比较累的。 这节课内容涵盖了Blinn-Phong reflectance model的完整形式以及核心思想,着色频率,渲染管线等,下面逐个分析。 Blinn-Phong reflectance model Blinn-Phong模型将每个着色点

空间变换细节与插值透视矫正

空间变换细节与插值透视矫正

各个空间与对应的变换 每个3D模型都有自己的局部空间(Local Space)。空间拥有自己的局部坐标系,定义了自己的原点位置。 经过模型变换(Model Transformation)后,应用model矩阵变为世界空间(World Space)。具体的变换过程取决于我们想把模型放在世界的哪个位置。

【GAMES101】作业2笔记记录

【GAMES101】作业2笔记记录

Triangle类分析 Triangle.h代码如下: // // Created by LEI XU on 4/11/19. // #ifndef RASTERIZER_TRIANGLE_H #define RASTERIZER_TRIANGLE_H #include <eigen3/Eige

【GAMES101】Rasterizer.hpp核心分析

【GAMES101】Rasterizer.hpp核心分析

Rasterizer.hpp中对光栅化器的基本功能做了定义,但其中有些部分的逻辑比较复杂,此处做最核心的分析。 两个枚举类 对于Buffers类,它实际上是为了clear函数服务的,用于指定clear哪个类型的缓冲数据。 enum class Buffers { Color = 1,

【GAMES101】作业0的环境配置问题

【GAMES101】作业0的环境配置问题

GAMES101环境配置中出现了一系列小问题,都是比较冷门但又很好解决的问题,特此记录。 VirtualBox进入Ubuntu黑屏 虚拟机设置-显示-显卡控制器中,将VMSVGA改为VBoxSVGA即可成功进入系统 此时会提示"发现无效设置",别管它就行。 原因不详,可能是VMSVGA不太兼容旧版本

【GAMES101】变换(Transformation)基础

【GAMES101】变换(Transformation)基础

线性变换(Linear Transformation)的本质 线性变换主要是旋转和缩放,是一种"均匀"的变换。一定能被一个实矩阵表示 通过3b1b的线代基础视频:线性代数的本质 - 03 - 矩阵与线性变换,我们知道线代变换矩阵的一种本质理解: