extension-script

(β˜… 114)

Example repository for custom C++/CUDA operators for TorchScript

  • .gitignore
  • Dockerfile
  • eager.py
  • example.pt
  • load.py
  • load_inline.py
  • README.md
  • script.py
  • setup.py
  • test_setup.py
  • trace.py

# Installation Guide

1. Get the code
git clone https://github.com/pytorch/extension-script

Downloads the entire project code from GitHub to your computer.

cd extension-script

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
$ docker build -t extension-script .

Builds a runnable image based on the Dockerfile.

$ docker run -v $PWD:/home -it extension-script

Runs the built image as an actual container.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

3. CMake

Medium
Prerequisites
  • Git Needed to download the project code from GitHub.
  • CMake The tool used to generate build configuration.
  • C/C++ 컴파일러 Windows needs Visual Studio (Community edition, free), macOS needs Xcode Command Line Tools, Linux needs the gcc/g++ package.
$ cmake -DCMAKE_PREFIX_PATH=/libtorch ..

Type this command into your terminal and run it.

βœ… Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).

Pulled directly from this repo's README.

4. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
pip install .

Installs the package published on PyPI directly β€” no need to clone the source.

python <μ‹€ν–‰ν•  파일λͺ…>.py # READMEμ—μ„œ μ •ν™•ν•œ μ‹€ν–‰ 파일λͺ…을 ν™•μΈν•˜μ„Έμš”

Runs the Python script (or module).

βœ… If it runs without errors and prints output in the terminal, it worked.
// repository documentation