x-jeff blog

Make progress every day.

【CUDA编程】【20】【3.Programming Interface】【3.3.Versioning and Compatibility】

Versioning and Compatibility

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Versioning and Compatibility 在开发CUDA应用程序时,开发人员需要关注两个版本号:1)device的计算能力(见:Compute Capability);2)CUDA驱...

【CUDA编程】【19】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.16.External Resource Interoperability】

Vulkan Interoperability,OpenGL Interoperability,Direct3D 12 Interoperability,Direct3D 11 Interoperability,NVIDIA Software Communication Interface Interoperability (NVSCI)

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.External Resource Interoperability 外部资源互操作性允许CUDA导入由其他API显式导出的特定资源。这些对象通常通过操作系统的原生句柄由其他API导出,例如Linu...

【C++并发编程】【3】【Hello, world of concurrency in C++!】Concurrency and multithreading in C++

多线程技术在C++中的发展

【C++并发编程】系列博客为参考《C++ Concurrency IN ACTION (SECOND EDITION)》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Concurrency and multithreading in C++ 从C++11标准开始,才正式支持开发者编写不依赖平台(比如Windows,Linux等)的多线程...

【CUDA编程】【18】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.15.Graphics Interoperability】

OpenGL Interoperability,Direct3D Interoperability,SLI Interoperability

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Graphics Interoperability OpenGL和Direct3D的一些资源可以映射到CUDA的地址空间中,这样做的目的是:1)使CUDA能够读取由OpenGL或Direct3D写入...

【机器学习基础】第五十四课:[计算学习理论]Rademacher复杂度

Rademacher复杂度

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Rademacher复杂度 基于VC维的泛化误差界是分布无关、数据独立的,也就是说,对任何数据分布都成立。这使得基于VC维的可学习性分析结果具有一定的“普适性”;但从另一方面来说,由于没有考虑数据自身,基于VC维得到的泛化误差界通常比较“...

【CUDA编程】【17】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.14.Texture and Surface Memory】

Texture Memory,Surface Memory,CUDA Arrays,Read/Write Coherency

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Texture and Surface Memory CUDA支持GPU的一个纹理硬件子集,用于图形访问纹理内存(texture memory)和表面内存(surface memory)。相比于全局...

【CUDA编程】【16】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.13.Call Stack】

Call Stack

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Call Stack 在计算能力2.x及以上的device中,可以使用cudaDeviceGetLimit()查询调用栈(call stack)的大小,并使用cudaDeviceSetLimit()...

【CUDA编程】【15】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.12.Error Checking】

Error Checking

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Error Checking 同步函数在任务完成后才返回,这意味着host可以在函数返回时确信任务已经成功或失败。异步函数(见:Asynchronous Concurrent Execution)会...

【CUDA编程】【14】【3.Programming Interface】【3.2.CUDA Runtime】【3.2.11.Interprocess Communication】

Interprocess Communication,IPC

【CUDA编程】系列博客参考NVIDIA官方文档“CUDA C++ Programming Guide(v12.6)”。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.Interprocess Communication 由host线程创建的任何device内存指针或event句柄都可以被同一进程中的其他线程直接引用。然而,它在该进程之外是无效的,所以无法被属于不...

【程序是怎样跑起来的】第12章:让计算机“思考”

猜拳游戏程序,随机数

博客为参考《程序是怎样跑起来的》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.作为“工具”的程序和为了“思考”的程序 👉第12章热身问答: 用计算机进行的模拟试验称为什么? 计算机模拟。计算机模拟是指用软件来进行实际试验。 伪随机数指的是什么? 通过公式产生的伪随机...