当前位置: 首页 > article >正文

pytorch调用手写CUDA算子和pybind11的使用

之前介绍了很多CUDA编写算子的代码,但是一直缺乏一个好的方法来证明自己手写算子的正确性,以及希望知道自己的手写算子在时间上和pytorch的差异,这里我们需要用到pybind11这个工具,这个工具可以将我们手写的CUDA代码编译为动态库,最终形成一个崭新的module,使得pytorch可以调用我们手写的算子进行计算。下面我们先介绍一下代码结构:

代码架构

    • softmax.cu
      • py::array_t < < <float > > >
      • request()方法
      • .ptr
      • 总结
    • setup.py
      • 导入模块
      • 设置python包
      • 定义扩展模块
      • 指定构建命令
      • 使用方法
    • test_softmax.py
    • run.sh
    • tensor代替numpy
      • softmax.cu
      • test_softmax.py

softmax.cu

#include <pybind11/pybind11.h>
#include <pybind11/numpy.h>

http://www.kler.cn/news/363047.html

相关文章:

  • 【YOLO模型】(1)--YOLO是什么
  • 基于STM32设计的养殖场环境监测系统(华为云IOT)
  • 精准布局:探索CSS中的盒子固定定位的魅力
  • Java:抽象类和接口
  • JavaScript 中怎么判断前端各种运行环境
  • 2024软件测试面试秘籍(含答案+文档)
  • 军事领域的深度学习不同于机器学习中的深度学习
  • 如何在本地运行threejs官方示例
  • FPGA开发时,什么情况下使用BRAM,什么情况下使用DRAM
  • Linux系统基础-进程间通信(4)_模拟实现进程池
  • vb.net 关闭 开启 声卡
  • Python Faker方法大全
  • ArcGIS002:软件自定义设置
  • 售前解决方案笔试题|售前工程师笔试题|TCP/IP优化
  • 基于SpringBoot的“心灵治愈交流平台”的设计与实现(源码+数据库+文档+PPT)
  • Web3 开发者入门手册:技能、工具和职业前景
  • C++ 编程基础:传值、传指针和传引用详解
  • Java Lambda表达式:简化代码的优雅方式
  • 自动粘贴神器,数据复制粘贴快速处理记事本
  • 软件分享丨PDF Shaper
  • 【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (五):POST上传文件的设置
  • 常用环境部署(二十一)——Docker将一台服务器的镜像移动到另外一台服务器
  • 【LLM之Agent】《Tool Learning with Large Language Models: A Survey》论文阅读笔记
  • Centos7安装sqoop1.4.7超详细教程
  • Android 默认去掉URL网络校验,设置不进行网络校验
  • Arm和高通闹翻在即,或影响骁龙 8 Elite