diff options
| author | Joshua Bakita <jbakita@cs.unc.edu> | 2025-03-20 16:28:52 -0400 |
|---|---|---|
| committer | Joshua Bakita <jbakita@cs.unc.edu> | 2025-03-20 16:46:21 -0400 |
| commit | 39c57bca3cbb42b1939a28377d8ef6cfab872450 (patch) | |
| tree | 8a2ac5d15c420c7df3dff989a1d749194cda552c /README.md | |
| parent | 5173f55d57a944c4f6a3e018892fc1da55e15571 (diff) | |
Makefile improvements
- Add an "all" build target
- Fix build if libcuda.so is not on linker search path
- Do not assume that nvcc is available on $PATH
- Allow specifying CFLAGS and LDFLAGS when running make
- Allow passing non-standard CUDA build locations to make
Suggested usage if CUDA is installed in a non-standard location,
say, /playpen/jbakita/CUDA/cuda-archive/cuda-12.2:
make CUDA=/playpen/jbakita/CUDA/cuda-archive/cuda-12.2
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 8 |
1 files changed, 4 insertions, 4 deletions
| @@ -29,10 +29,10 @@ To build, ensure that you have `gcc` installed and access to the CUDA SDK includ | |||
| 29 | make libsmctrl.a | 29 | make libsmctrl.a |
| 30 | ``` | 30 | ``` |
| 31 | 31 | ||
| 32 | If you see an error that the command `nvcc` was not found, `nvcc` is not available on your `PATH`. | 32 | If you see errors about CUDA headers or libraries not being found, your CUDA installation may be in a non-standard location. |
| 33 | Correct this error by explictly specifying the location of `nvcc` to `make`, e.g.: | 33 | Correct this error by explictly specifying the location of the CUDA install `make`, e.g.: |
| 34 | ``` | 34 | ``` |
| 35 | make NVCC=/playpen/jbakita/CUDA/cuda-archive/cuda-10.2/bin/nvcc libsmctrl.a | 35 | make CUDA=/playpen/jbakita/CUDA/cuda-archive/cuda-10.2/ libsmctrl.a |
| 36 | ``` | 36 | ``` |
| 37 | 37 | ||
| 38 | For binary backwards-compatibility to old versions of the NVIDIA GPU driver, we recommend building with an old version of the CUDA SDK. | 38 | For binary backwards-compatibility to old versions of the NVIDIA GPU driver, we recommend building with an old version of the CUDA SDK. |
| @@ -41,7 +41,7 @@ For example, by building against CUDA 10.2, the binary will be compatible with a | |||
| 41 | Older versions of `nvcc` may require you to use an older version of `g++`. | 41 | Older versions of `nvcc` may require you to use an older version of `g++`. |
| 42 | This can be explictly specified via the `CXX` variable, e.g.: | 42 | This can be explictly specified via the `CXX` variable, e.g.: |
| 43 | ``` | 43 | ``` |
| 44 | make NVCC=/playpen/jbakita/CUDA/cuda-archive/cuda-8.0/bin/nvcc CXX=g++-5 libsmctrl.a | 44 | make CUDA=/playpen/jbakita/CUDA/cuda-archive/cuda-8.0/ CXX=g++-5 libsmctrl.a |
| 45 | ``` | 45 | ``` |
| 46 | 46 | ||
| 47 | `libsmctrl` supports being built as a shared library. | 47 | `libsmctrl` supports being built as a shared library. |
