侧边栏壁纸
博主头像
蜉蝣的博客博主等级

行动起来,活在当下

  • 累计撰写 39 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

CUDA劫持

蜉蝣
2025-12-19 / 0 评论 / 0 点赞 / 3 阅读 / 1729 字

原理

LD_PRELOAD

  • LD_PRELOAD 是一个环境变量,它允许你定义一个或多个共享库(在 Linux 上是 .so 文件,在 macOS 上是 .dylib 文件)的路径,这些库会在任何其他库之前被加载到程序的地址空间中。

  • 当一个程序在 Unix/Linux 系统上启动时,动态链接器/加载器(通常是 ld.so)负责加载该程序所依赖的所有共享库。

    • 正常情况下,链接器会按照默认的搜索路径(如 /lib, /usr/lib)和规则来查找并加载库。

    • 如果设置了 LD_PRELOAD,链接器会首先加载 LD_PRELOAD 中指定的所有库。

    • 由于这些预加载的库中的符号(函数、变量等)先被加载,它们会“覆盖”后续加载的库中同名的符号。

  • LD_PRELOAD 指定的库中定义已有库的同名函数,并在原库函数的基础上增加扩展功能,以此实现库函数劫持

CUDA构成

CUDA

重要头文件

  • cuda_runtime.h

  • cuda.h

CUDNN

  • cudnn_v9.h

CUBLAS

  • cublas.h

  • cublas_v2.h

头文件

  • cuda_runtime.h

  • cuda.h

  • cudnn.h

  • cublas.h

0

评论区