Skip to content

flyingTan/pybind11_samples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1.Introduction

2.Pyblind11 C++ 混合编程

3.Pyblind11 Pytorch C++/CUDA 混合编程


Introduction

BACKGROUND:由于 Python 运行效率不如 C++,所以我们希望通过 C++ 生成高效运算库(.so, .lib);通过结构适配让 Python 能够调用 C++库,从而提升运行效率。

[1]. GIT-REPO:

1. 原始方式。

[1] 参考博客 Python 调用 C++:原生态、Boost Python 两种方式调用,此方法相对繁琐,开发效率相对低效,不做进一步调研,有兴趣可以了解下。

2. Pyblind11 C++ 混合编程。

[1]. REQUIRES: Pyblind11官方 tutorialGithub 源码

[2]. SAMPLE1: Pybind Tutorial Sample。

[3]. SAMPLE2: 分离 include、src、sample、python-lib 文件,从而可以用Vscode Debug D C++ 和 Python 代码,提升效率。

3. Pyblind11 Pytorch C++/CUDA 混合编程。

[1] REQUIRE: libtorch(GPU Version)CUDAPybind11(build from source)

[2] SAMPLE3: 写了一版简单 GPU(CPU) NMS,其中用到 libtorch、pybind,同时支持 Debug。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published