自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 Python 切片(slice)操作示例

在Python中,切片(slice)操作是处理序列(如列表、字符串、元组等)的一种常用且强大的工具。

2024-07-16 16:06:43 121

原创 使用 accessors简化在CUDA内核中访问张量数据的代码

使用 `accessors` 可以大大简化在CUDA内核中访问张量数据的代码,提高代码的可读性和可维护性,同时避免了显式传递stride的麻烦。这使得处理高维张量数据变得更加方便和直观。

2024-07-16 13:39:24 367

原创 AT_DISPATCH_FLOATING_TYPES 和AT_DISPATCH_ALL_TYPES 的作用

AT_DISPATCH_ALL_TYPES 宏用于调度所有基础数据类型,包括 `int`, `float`, `double` 等 ,根据不同的数据类型生成不同的代码路径,减少手动写类型检查和类型转换代码的繁琐过程。

2024-07-16 13:27:06 145

原创 基本概念:线程块(Thread Block)与Warp的区别、SM、Grid、Dimension

流式多处理器(Streaming Multiprocessor, SM)是NVIDIA GPU中的一个基本硬件组件,它在执行并行任务中起着关键作用。每个GPU包含多个SM,这些SM共同提供了GPU的计算能力。

2024-06-20 18:16:09 936

原创 编译 CUDA 程序的基本知识和步骤

2024-06-19 23:12:39 636 1

原创 Makefile 的基本知识和关键概念

2024-06-19 23:01:30 271

原创 【NVBit: A Dynamic Binary Instrumentation Framework for NVIDIA GPUs】

NVBit (NVIDIA Binary Instrumentation Tool) 是一个专门用于 CUDA 编程环境的工具,用于在程序运行时动态插入和修改 CUDA 二进制代码(SASS 机器代码)。这对性能分析、错误检测和调试非常有用。NVBit 框架提供了五类主要的用户级 API:回调(Callback)、检查(Inspection)、插桩(Instrumentation)、控制(Control)和设备(Device)。

2024-06-19 17:19:02 1086

原创 【blockIdx gridDim extern “C“ __device__ __attribute__((constructor))】基本概念

假设一个网格由 个块组成(即 , , ),则 的取值范围为:这个计算公式将三维块索引转换为一维块 ID。假设一个网格由 个块组成,则:在计算 时, 确保在不同维度上的块索引转换为一维索引时是正确的。使用 关键字的函数通常有以下几个特点:设备上调用:C 链接规范:例如, 函数:这是一个在设备上运行的函数,可能被多个 CUDA 文件中的代码调用,因此使用 确保链接时命名一致。定义:用途:激活时机:具体流程:在你的代码中,重新执行带有 环境变量设置的命令行有几个目的。这种方法通常用于预

2024-06-11 18:04:25 595

原创 用 lib_handle 动态加载库并查找符号的完整示例

函数的返回值,用于标识和访问动态加载的共享库。如果加载失败,则返回。

2024-06-10 22:22:43 281

原创 获取并编译 LLVM 3.0 的详细步骤

2024-06-10 00:32:12 282

原创 在Windows 10使用WSL2和Ubuntu安装CUDA

确保安装了Python 2.7, NVCC v6.0.1, CUDA SDK v6.0.37和LLVM 3.0。如果需要,可以在WSL2中手动安装这些版本。确保您使用的是WSL2,并安装了Ubuntu 18.04或20.04等版本。部分配置故障注入参数。确保在目标基准源代码中添加所需的头文件和标签。以编译目标基准测试,并在。根据仓库中的说明,修改。

2024-06-09 17:17:25 985

原创 【解决 nvidia-smi 找不到 libnvidia-ml.so 库文件的问题】

 

2024-06-08 23:07:12 861 2

原创 【LLFI-GPU】 paper review

【代码】【LLFI-GPU】 paper review。

2024-06-08 13:03:40 522

翻译 通过动态加载库和修改LLVM IR 来实现--动态修改生成的GPU代码

在进行CUDA编程时,我们希望能动态修改生成的GPU代码,以便插入故障注入代码或做其他调整。这篇文章介绍了一种方法,通过动态加载库和修改LLVM IR(中间表示)来实现这一目标。LLVM IR(Intermediate Representation,中间表示)是一种抽象的低级编程语言,用于描述程序的行为。它介于高级语言(如C++)和机器代码之间,是编译过程中的一个中间步骤。LLVM IR可以被优化,然后转换为目标机器代码。

2024-06-06 19:58:37 27

原创 使用 Hyper-V 搭建 Docker

在默认情况下,Docker Desktop 使用 WSL 2 作为其后端虚拟化引擎,但它仍然依赖 Hyper-V 来运行。在 Windows 上运行 Docker 时,Docker Desktop 可以利用 Hyper-V 提供虚拟化支持。如果一切正常,应该会看到 Docker 成功运行的消息。:执行命令后,重启计算机以使更改生效。

2024-06-05 20:43:44 596

原创 【 LLVM】创建基本块简单示例

运行上述代码后,生成的LLVM IR会包含两个基本块,每个基本块中有一些简单的指令。是LLVM IR的顶层容器,包含了所有的函数和全局变量。它相当于一个编译单元。是一个便捷类,用于生成LLVM指令。它提供了许多方法来简化IR代码生成。用于创建一个新的基本块。用于创建一个新的函数。

2024-06-04 13:52:33 214

原创 LLVM 命令行处理库-简单教程

使用cl::optMyBoolOpt是一个布尔选项,默认值为false。MyIntOpt是一个整数选项,默认值为0。是一个字符串选项,默认值为"default"。

2024-06-03 20:42:13 308

原创 C++ 命名空间 (Namespace) 基本用法

命名空间(Namespace)用于组织代码,防止命名冲突。命名空间通过关键字namespace定义,包裹在大括号{}中的内容都属于该命名空间。

2024-06-03 20:38:01 141

原创 【YAML 】入门速学

库来读取和写入YAML文件。Python中可以使用。

2024-06-03 16:47:19 97

原创 Docker使用教程【自存】

你希望将它挂载到容器中的。目录,并且你的镜像名为。假设你有一个本地目录。

2024-05-29 00:34:27 164 1

原创 mac OS 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443: Operation timed out 报错信息

将 "your_proxy_server" 替换为自己的代理服务器地址,"your_proxy_port" 替换为代理服务器的端口号。在"系统偏好设置"-“网络”-“更多”-“代理”可以找到代理服务器的信息。表明 Homebrew 在尝试下载 资源时遇到了连接问题。将 IP地址、需要访问的网址替换成对应的;这两步之后,就可以下载了。

2023-09-04 17:16:48 1120 1

原创 如何使用anaconda创建python虚拟环境-简易教程

虚拟环境(Virtual Environment)是一个独立的、隔离的 Python 环境,可以用于在同一台计算机上同时运行多个独立的 Python 项目,每个项目都可以具有不同的 Python 版本和依赖关系。在vs code打开对应文件夹,选择创建的虚拟环境作为内核,就可以 install需要的python包 跑代码啦。前置条件:安装好anaconda 下载好python、vs code等工具。在终端输入以上命令,就可以在当前目录下创建一个名为。,不受其他项目的影响。虚拟环境的主要目的是。

2023-08-28 12:15:25 254 2

原创 mac运行php文件的配置

​问题:下载phpstudy,启动apache、出现报错,按 网上教程访问http://localhost成功启动apache,但无法运行php文件,显示not found

2023-06-04 17:42:44 753

原创 动态规划 经典例题|数塔、货郎担问题、找零钱

编写一个函数来计算可以凑成总金额所需的最少的硬币个数。观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。i>n时,f[i][j]=0;i=n 时 f[i][j]=a[i][j];售货员从城市i到城市j的旅行费用是一个整数,旅行所需的全部费用是他旅行经过的的各边费用之和,而售货员希望使整个旅行费用最低。在上面的样例中,从7→3→8→7→5 的路径最大。

2023-05-28 01:49:54 303

原创 分治 贪心的思想、抽象化控制、例题

考察二分检索算法执行过程的二元比较树: 成功检索-e-内结点,不成功检索--外结点 由于2^k-1

2023-05-27 21:01:38 253 1

原创 数据结构代码合集|备考

--

2023-02-28 10:19:47 204

原创 数据结构期末超超超基本的一些概念大杂烩

期末预习

2023-02-28 00:08:02 91

原创 排序算法的分析和实现:堆排序|快速排序|合并排序|直接插入|直接选择|冒泡排序

排序排序

2023-02-11 13:34:18 401

原创 再遇到也可能不会的合集:约瑟夫问题|打家劫舍III|两个数组的交集

n个人围成一圈,初始编号从1~n排列,从约定编号为x的人开始报数,数到第m个人出圈,接着又从1开始报数,报到第m个数的人又退出圈,以此类推,最后圈内只剩下一个人,这个人就是赢家,求出赢家的编号。第二个报到了m 考虑第n-2个人围成一圈。第一个报到了m之后就考虑第n-1个人围成一圈,谁会报到m;unorder_set 的用法。

2023-02-04 00:01:27 66

原创 232. 用栈实现队列;​103. 二叉树的锯齿形层序遍历​;225. 用队列实现栈

232:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作((即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。简单题:用两个栈,倒进去再拿出来,就是队列顺序啦!思路1:用deque实现双向存储;思路2: 也是两个栈;

2023-01-26 22:43:02 47

原创 验证二叉查找树,n个结点有多少种二叉查找树(dp) ,修正二叉查找树|代码实现

root结点有0个左孩子和2个右孩子+有2个左孩子和2个右孩子+ 1个左孩子1个右孩子的组合。当 n = 3时,dp[3] = 5 = dp[0]dp[2] + dp[1]dp[1] + dp[2]dp[0];-root结点有1个左孩子和0个右孩子+root结点有0个左孩子和1个右孩子;当 n = 2时,dp[2] = 2 = dp[0]dp[1] + dp[1]dp[0];第二个节点:在第一个节点找到之后,后面出现前一个节点大于后一个节点,选择后一个节点。3 不能是 1 左孩子,因为 3 > 1。

2022-12-09 11:47:44 184

原创 二叉树的路径与分层遍历

查找二叉树从根到x的最长路径;查找每层结点;查找两个结点之间的路径;

2022-11-17 20:59:13 511

原创 邻接表|链式前向星|C++代码

邻接表

2022-11-09 12:29:17 210

原创 二叉树的基本操作 |中根遍历|迭代|已知先序序列和中序序列重建二叉树|混合栈洗数|

二叉树:是一种有层次的存储数据的结构;可以把查找的复杂度降低到logn;区别root=NULL:指针是不是空*root=NULL:指针指向的位置是不是空。

2022-10-28 22:39:31 642

原创 黄金连分数

当斐波拉契数列n趋近无穷时,前一项与后一项的比值越来越逼近黄金分割0.618(或者说后一项与前一项的比值小数部分越来越逼近 0.618)。即F(n-1)/F(n)的值就是黄金分割数,即(根号5-1)/2。

2022-10-20 14:25:02 218

原创 猜字母vector ,string, stringstream 用法

得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。把abcd...s共19个字母组成的序列重复拼接106次,得到长度为2014的串。接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。以下程序哪项运行后不能得到正确答案?

2022-10-20 10:47:26 105

原创 基础赛;

next_permutatiom(a,a+9); gcd递归;set用法;priority_queue;

2022-10-19 11:58:31 128

原创 蓝桥杯 基础题

日志统计;年月计算;星系炸弹

2022-10-17 19:29:53 85

数值逼近问题.html

数值逼近问题.html

2022-09-03

规划问题.html

规划问题.html

2022-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除