x-jeff blog

Make progress every day.

【CUDA编程】【8】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.5.Distributed Shared Memory】

Distributed Shared Memory

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Distributed Shared Memory 详见:Thread Block Clusters。 下面是一个使用分布式共享内存实现直方图计算的例子。 1 2 3 4 5 6 7 8 9 1...

【CUDA编程】【7】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.4.Shared Memory】

Shared Memory

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Shared Memory 使用__shared__内存空间说明符来分配共享内存。 在预期上,共享内存会比全局内存快得多,其可以最大限度的减少CUDA block对全局内存的访问。 下面是一个不...

【CUDA编程】【6】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.3.Device Memory L2 Access Management】

L2 cache Set-Aside for Persisting Accesses,L2 Policy for Persisting Accesses,L2 Access Properties,L2 Persistence Example,Reset L2 Access to Normal,Manage Utilization of L2 set-aside cache,Query L2 cache Properties,Control L2 Cache Set-Aside Size for Persisting Memory Access

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Device Memory L2 Access Management 当CUDA kernel反复访问global内存中的某个数据区域时,这类数据访问可以被认为是持久的(persisting)。另一...

【CUDA编程】【5】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.2.Device Memory】

Device Memory

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Device Memory CUDA编程模型假定系统由host和device组成,每个都有自己独立的内存。kernel在device内存中运行,因此运行时提供了分配、释放和复制device内存的功能...

【CUDA编程】【4】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.1.Initialization】

CUDA Runtime,Initialization

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.CUDA Runtime CUDA runtime在cudart库中实现。该库可以以静态链接(通过cudart.lib或libcudart.a)或动态链接(通过cudart.dll或libcudar...

【CUDA编程】【3】【3.Programming Interface】【3.1.Compilation with NVCC】

Compilation Workflow,Binary Compatibility,PTX Compatibility,Application Compatibility,C++ Compatibility,64-Bit Compatibility

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Compilation with NVCC 所有包含CUDA代码的源文件都需要使用nvcc编译器进行编译。nvcc是NVIDIA提供的专门用于编译CUDA程序的编译器。 2.Compilation...

【机器学习基础】第五十三课:[计算学习理论]VC维

VC维,增长函数,对分,打散,Sauer引理

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.VC维 现实学习任务所面临的通常是无限假设空间,例如实数域中的所有区间、$\mathbb{R}^d$空间中的所有线性超平面。欲对此种情形的可学习性进行研究,需度量假设空间的复杂度。最常见的办法是考虑假设空间的“VC维”(Vapnik-Ch...

【程序是怎样跑起来的】第11章:硬件控制方法

I/O控制器,I/O地址,IRQ,DMA,VRAM

博客为参考《程序是怎样跑起来的》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.应用和硬件无关? 👉第11章热身问答: 在汇编语言中,是用什么指令来同外围设备进行输入输出操作的? IN指令和OUT指令。在x86系列CPU用的汇编语言中,通过IN指令来实现I/O输入,OUT指令来实现I/O输出。 ...

【C++并发编程】【1】【Hello, world of concurrency in C++!】What is concurrency?

并发,多进程并发,多线程并发,并行

【C++并发编程】系列博客为参考《C++ Concurrency IN ACTION (SECOND EDITION)》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.What is concurrency? 从最简单、最基本的层面上,并发(concurrency)就是指两个或更多的独立活动同时进行。 2.Concurrency in ...

【机器学习基础】第五十二课:[计算学习理论]有限假设空间

可分情形,不可分情形

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.可分情形 可分情形意味着目标概念$c$属于假设空间$\mathcal{H}$,即$c\in \mathcal{H}$。给定包含$m$个样例的训练集$D$,如何找出满足误差参数的假设呢? 容易想到一种简单的学习策略:既然$D$中样例标记都...