NVCC options compatibility (v2.1)
Parameter | Description | Status | |
File and Path Specifications | "-o, --output-file <file>" | Specify the name and location of the output file. | ✅ |
"-objtemp, --objdir-as-tempdir" | Create all intermediate files in the same directory as the object file. | ✅ | |
"-include, --pre-include <file,…>" | Specify header files to pre-include during preprocessing. | ✅ | |
"-l, --library <library,…>" | Specify libraries to be used in the linking stage without the library file extension. | ✅ | |
"-D, --define-macro <def,…>" | Define macros to be used during preprocessing. | ✅ | |
"-U --undefine-macro <def,…>" | Undefine an existing macro during preprocessing or compilation. | ✅ | |
"-I, --include-path <path,…>" | Specify include search paths. | ✅ | |
"-isystem, --system-include <path,…>" | Specify system include search paths. | ✅ | |
"-L, --library-path <path,…>" | Specify library search paths. | ✅ | |
"-odir, --output-directory <directory>" | Specify the output directory. | ✅ | |
"-MF, --dependency-output <file>" | Specify the dependency output file. | ✅ | |
"-MP, --generate-dependency-targets" | Add an empty target for each dependency. | ✅ | |
"-ccbin, --compiler-bindir <directory>" | Specify the directory in which the default host compiler executable resides. | ✅ | |
"-allow-unsupported-compiler, --allow-unsupported-compiler" | Disable nvcc check for supported host compiler versions. | ✅ | |
"-arbin, --archiver-binary <executable>" | Specify the path to the archiver tool used to create static libraries with | ✅ | |
"-cudart, --cudart <none|shared|static>" | Specify the type of CUDA runtime library to be used: no CUDA runtime library, shared/dynamic CUDA runtime library, or static CUDA runtime library. | ✅ | |
"-cudadevrt, --cudadevrt <none|static>" | Specifies which CUDA device runtime library to use: none or static. | ✅ | |
"-ldir, --libdevice-directory <directory>" | Specify the directory that contains the libdevice library files. | ✅ | |
"-target-dir, --target-directory <dir>" | Specify the subfolder name in the targets directory where the default include and library paths are located. | ✅ | |
Compilation Phase Specifications | "-link, --link" | Specify the default behavior: compile and link all input files. | ✅ |
"-lib, --lib" | Compile all input files into object files, if necessary, and add the results to the specified library output file. | ✅ | |
"-dlink, --device-link" | Link object files with relocatable device code and .ptx, .cubin, and .fatbin files into an object file that contains executable device code. You can pass this object file to the host linker. | ✅ | |
"-dc, --device-c" | Compile each .c, .cc, .cpp, .cxx, and .cu input file into an object file that contains relocatable device code. It is equivalent to | ✅ | |
"-dw, --device-w" | Compile each .c, .cc, .cpp, .cxx, and .cu input file into an object file that contains executable device code. It is equivalent to | ✅ | |
"-cuda, --cuda" | Compile each .cu input file to a .cu.cpp.ii file. This option is not supported when | ✅ | |
"-c, --compile" | Compile each .c, .cc, .cpp, .cxx, and .cu input file into an object file. | ✅ | |
"-fatbin, --fatbin" | Compile all .cu, .ptx, and .cubin input files to device-only .fatbin files. With this option, nvcc discards the host code for each .cu input file. | ✅ | |
"-cubin, --cubin" | Compile all .cu and .ptx input files to device-only .cubin files. With this option, nvcc discards the host code for each .cu input file. | ✅ | |
"-ptx, --ptx" | Compile all .cu input files to device-only .ptx files. With this option, nvcc discards the host code for each .cu input file. | ✅ | |
"-E, --preprocess" | Preprocess all .c, .cc, .cpp, .cxx, and .cu input files. | ✅ | |
"-M, --generate-dependencies" | Generate a dependency file for the .c, .cc, .cpp, .cxx, and .cu input files that can be included in a Makefile. | ✅ | |
"-MM, --generate-nonsystem-dependencies" | Same as | ✅ | |
"-MD, --generate-dependencies-with-compile" | This option cannot be specified together with If If Otherwise, the dependency file name is computed by replacing the suffix of each input file name with '.d'. | ✅ | |
"-MMD, --generate-nonsystem-dependencies-with-compile" | Same as | ✅ | |
"-run, --run" | Compile and link all input files into an executable, and executes it. | ✅ | |
"-optix-ir, --optix-ir" | Compiles CUDA source to OptiX IR (.optixir). The OptiX IR is intended only for use by OptiX through its APIs. This option is not supported with link-time optimization (-dlto), the lto_NN -arch target, or -gencode. | ✅ | |
"-ltoir, --ltoir" | Compiles CUDA source to LTO IR (.ltoir). This option can only be used with link-time optimization (-dlto) or the lto_NN -arch target. | ✅ | |
Compiler/Linker Behavior Specifications | "-pg, --profile" | Instruments the generated code or executable for gprof. | ✅ |
"-g, --debug" | Generate debug information for host code. | ✅ | |
"-G, --device-debug" | Generate debug information for device code. | ✅ | |
"-ewp, --extensible-whole-program" | Generates extensible whole program device code. This allows some calls to remain unresolved until linking with libcudadevrt. | ✅ | |
"-no-compress, --no-compress" | Do not compress device code in fatbinary. | ✅ | |
"-compress-mode, --compress-mode {default|size|speed|balance|none}" | Choose the device code compression behavior in fatbinary. | ✅ | |
"-reloc-ptx, --relocatable-ptx" | Inserts PTX from relocatable fatbinaries found in input object files when producing the final fatbinary. | ✅ | |
"-lineinfo, --generate-line-info" | Generate line-number information for device code. | ✅ | |
"-opt-info, --optimization-info <kind,…>" | Provides optimization reports for the specified kind of optimization. The following tags are supported: inline Emits remarks about function inlining. The inlining pass can run multiple times. A function not inlined in an earlier pass may be inlined in a subsequent pass. | ✅ | |
"-O, --optimize <level>" | Specify optimization level for host code. | ✅ | |
"-dlto, --dlink-time-opt" | Perform link-time optimization of device code. The option | ✅ | |
"-jobserver, --jobserver" | Enables support for the GNU jobserver. | ✅ | |
"-ftemplate-backtrace-limit, --ftemplate-backtrace-limit <limit>" | Set the maximum number of template instantiation notes for a single warning or error to the specified limit. | ✅ | |
"-ftemplate-depth, --ftemplate-depth <limit>" | Set the maximum instantiation depth for template classes to the specified limit. | ✅ | |
"-noeh, --no-exceptions" | Disable exception handling for host code. | ✅ | |
"-shared, --shared" | Generate a shared library during linking. | ✅ | |
"-x, --x <c|c++|cu>" | Explicitly specify the language for the input files, rather than letting the compiler choose a default based on the file name suffix. | ✅ | |
"-std, --std <c++03|c++11|c++14|c++17>" | Select a particular C++ dialect. | ✅ | |
"-nohdinitlist, --no-host-device-initializer-list" | Do not consider member functions of | ✅ | |
"-expt-relaxed-constexpr, --expt-relaxed-constexpr" | Experimental flag: Allow host code to invoke | ✅ | |
"-extended-lambda, --extended-lambda" "-expt-extended-lambda, --expt-extended-lambda" | Allow | ✅ | |
"-m, --machine <32|64>" "-m32, --m32" "-m64, --m64" | Specify 32-bit vs. 64-bit architecture. | ✅ | |
"-hls, --host-linker-script <use-lcs|gen-lcs>" | Use the host linker script (GNU/Linux only) to enable support for certain CUDA specific requirements, while building executable files or shared libraries. | ✅ | |
"-aug-hls, --augment-host-linker-scipt" | Enables generation of host linker script that augments an existing host linker script (GNU/Linux only). | ✅ | |
"-r, --host-relocatable-link" | When used in combination with | ✅ | |
"-split-compile, --split-compile number " | [Experimental] Performs compiler optimizations in parallel. | ✅ | |
"--split-compile-extended number, -split-compile-extended" | A more aggressive version of | ✅ | |
"-gen-opt-lto, --gen-opt-lto" | Run the optimizer passes before generating the LTO IR. | ✅ | |
"-dopt, --dopt <=on>" | Enable device code optimization. When specified along with | ✅ | |
"-Ofc, --Ofast-compile <level>" | Specifies the fast-compile level for device code. This level controls the trade-off between compilation speed and runtime performance by disabling certain optimizations. | ✅ | |
"-frandom-seed, --frandom-seed" | Uses the specified random seed to generate symbol and variable names. This option can be used to create deterministically identical PTX and object files. | ✅ | |
"-sanitize, --sanitize" | Enables compiler instrumentation for the specified sanitizer, such as initcheck, racecheck, or memcheck. | ✅ | |
Passing Specific Phase Options | "-Xcompiler, --compiler-options <options,…>" | Specify options directly to the compiler/preprocessor. | ✅ |
"-Xlinker, --linker-options <options,…>" | Specify options directly to the host linker. | ✅ | |
"-Xarchive, --archive-options <options,…>" | Specify options directly to the library manager. | ✅ | |
"-Xptxas, --ptxas-options <options,…>" | Specify options directly to ptxas, the PTX optimizing assembler. | ✅ | |
"-Xnvlink,--nvlink-options <options,…>" | Specify options directly to nvlink, the device linker. | ✅ | |
Guiding Compiler Driver | "-forward-unknown-to-host-compiler, --forward-unknown-to-host-compiler" | Forward unknown options to the host compiler. | ✅ |
"-forward-unknown-to-host-linker, --forward-unknown-to-host-linker" | Forward unknown options to the host linker. | ✅ | |
"-noprof, --dont-use-profile" | Ignores configurations from the nvcc.profile file during compilation. | ✅ | |
"-t, --threads number" | Specify the maximum number of threads to be used to execute the compilation steps in parallel. This option can be used to improve the compilation speed when compiling for multiple architectures. | ✅ | |
"-dryrun, --dryrun" | List the compilation sub-commands without executing them. | ✅ | |
"-v, --verbose" | List the compilation sub-commands while executing them. | ✅ | |
"-keep, --keep" "-save-temps, --save-temps" | Keep all intermediate files that are generated during internal compilation steps. | ✅ | |
"-keep-dir, --keep-dir <directory>" | Keep all intermediate files that are generated during internal compilation steps in this directory. | ✅ | |
"-clean, --clean-targets" | Delete all the non-temporary files that the same nvcc command would generate without this option. | ✅ | |
"-run-args, --run-args <arguments,…>" | Specify command line arguments for the executable when used in conjunction with | ✅ | |
"-idp, --input-drive-prefix <prefix>" | Specifies the input drive prefix. | ✅ | |
"-ddp, --dependency-drive-prefix <prefix>" | Specifies the dependency drive prefix. | ✅ | |
"-dp, --drive-prefix <prefix>" | Specifies the drive prefix. | ✅ | |
"-MT, --dependency-target-name <target>" | Specify the target name of the generated rule when generating a dependency file. | ✅ | |
"--no-align-double" | Prevents | ✅ | |
"-nodlink, --no-device-link" | Skips the device link step when linking object files. | ✅ | |
"--forward-unknown-opts, -forward-unknown-opts" | A shortcut for specifying both | ✅ | |
"--forward-slash-prefix-opts, -forward-slash-prefix-opts" | When forwarding of unknown options to the host toolchain is enabled (using | ✅ | |
"--device-stack-protector {true|false}, -device-stack-protector" | Enables or disables the generation of stack canaries in device code. | ✅ | |
"-allow-unsupported-compiler, --allow-unsupported-compiler" | Disable nvcc check for supported host compiler versions. | ✅ | |
"--use-local-env, -use-local-env" | Forces nvcc to assume the cl.exe environment is already set, skipping the MSVC environment setup batch file. This can significantly reduce compile time for small programs. | ✅ | |
"-static-global-template-stub, --static-global-template-stub {true|false}" | In whole-program compilation mode ( | ✅ | |
"-device-entity-has-hidden-visibility, --device-entity-has-hidden-visibility {true|false} " | This flag applies to | ✅ | |
"-force-cl-env-setup, --force-cl-env-setup" | Forces nvcc to always run the MSVC batch file to set up the cl.exe environment, matching legacy nvcc behavior. | ✅ | |
Steering CUDA Compilation | "-default-stream, --default-stream <legacy|null|per-thread>" | Specify the stream that CUDA commands from the compiled program will be sent to by default. | ✅ |
--gpu-architecture | Specify the name of the class of NVIDIA virtual GPU architecture for which the CUDA input files must be compiled. | ✅ | |
Steering GPU Code Generation | "-arch, --gpu-architecture <arch|all|all-major>" | Specify the name of the class of NVIDIA virtual GPU architecture for which the CUDA input files must be compiled. | ✅ |
"-code, --gpu-code <code,…>" | Specify the name of the NVIDIA GPU to assemble and optimize PTX for. | ✅ | |
"-gencode, --generate-code <specification>" | Provides a generalization for the above two. | ✅ | |
"-rdc, --relocatable-device-code <true|false>" | Enable or disable the generation of relocatable device code. If disabled, executable device code is generated. Relocatable device code must be linked before it can be executed. | ✅ | |
"-e, --entries <entry,…>" | Specify the global entry functions for which code must be generated. The compiler generates PTX for all entry functions, but assembles only the selected entry functions. You must specify entry function names in mangled form. | ✅ | |
"-maxrregcount, --maxrregcount <amount>" | Specify the maximum amount of registers that GPU functions can use. | ✅ | |
"-use_fast_math, --use_fast_math" | Make use of fast math library.
| ✅ | |
"-ftz, --ftz <true|false>" | Control single-precision denormals support.
| ✅ | |
"-prec-div, --prec-div <true|false>" | This option controls single-precision floating-point division and reciprocals.
| ✅ | |
"-prec-sqrt, --prec-sqrt <true|false>" | This option controls single-precision floating-point square root.
| ✅ | |
"-fmad, --fmad <true|false>" | This option enables (disables) the contraction of floating-point multiplies and adds/subtracts into floating-point multiply-add operations (FMAD, FFMA, or DFMA). | ✅ | |
"-extra-device-vectorization, --extra-device-vectorization" | This option enables more aggressive device code vectorization. | ✅ | |
"-astoolspatch, --compile-as-tools-patch" | Compile patch code for CUDA tools. Implies May only be used in conjunction with Shall not be used in conjunction with | ✅ | |
"-keep-device-functions, --keep-device-functions" | In whole program compilation mode, preserve user defined external linkage | ✅ | |
"--jump-table-density percentage, -jtd" | Specifies the case density percentage for switch statements. This percentage is the minimum threshold for implementing the switch with a jump table (brx.idx instruction). | ✅ | |
Generic Tool Options | "-w, --disable-warnings" | Inhibit all warning messages. | ✅ |
"-src-in-ptx, --source-in-ptx" | Interleave source in PTX. | ✅ | |
"-restrict, --restrict" | Assert that all kernel pointer parameters are restrict pointers. | ✅ | |
"-Wno-deprecated-gpu-targets, --Wno-deprecated-gpu-targets" | Suppress warnings about deprecated GPU target architectures. | ✅ | |
"-Wno-deprecated-declarations, --Wno-deprecated-declarations" | Suppress warning on use of a deprecated entity. | ✅ | |
"-Wreorder, --Wreorder" | Generate warnings when member initializers are reordered. | ✅ | |
"-Wdefault-stream-launch, --Wdefault-stream-launch" | Generate warning when an explicit stream argument is not provided in the | ✅ | |
"-Wext-lambda-captures-this, --Wext-lambda-captures-this" | Generate warning when an extended lambda implicitly captures this. | ✅ | |
"-Werror, --Werror <kind,…>" | Make warnings of the specified kinds into errors. The following is the list of warning kinds accepted by this option: all-warnings Treat all warnings as errors. cross-execution-space-call Be more strict about unsupported cross execution space calls. The compiler will generate an error instead of a warning for a call from a reorder Generate errors when member initializers are reordered. default-stream-launch Generate error when an explicit stream argument is not provided in the ext-lambda-captures-this Generate error when an extended lambda implicitly captures this. deprecated-declarations Generate error on use of a deprecated entity. | ✅ | |
"-err-no, --display-error-number" | Displays a diagnostic number for each message from the CUDA frontend compiler (note: does not affect the host compiler). | ✅ | |
"-no-err-no, --no-display-error-number" | Disables displaying a diagnostic number for messages from the CUDA frontend compiler (note: does not affect the host compiler). | ✅ | |
"-diag-error, --diag-error <errNum,…>" | Treats specified diagnostic messages from the CUDA frontend compiler as errors (note: does not affect diagnostics generated by the host compiler/preprocessor). | ✅ | |
"-diag-suppress, --diag-suppress <errNum,…>" | Suppresses specified diagnostic messages from the CUDA frontend compiler (note: does not affect diagnostics generated by the host compiler/preprocessor). | ✅ | |
"-diag-warn, --diag-warn <errNum,…>" | Treats specified diagnostic messages from the CUDA frontend compiler as warnings (note: does not affect diagnostics generated by the host compiler/preprocessor). | ✅ | |
"-res-usage, --resource-usage" | Show resource usage such as registers and memory of the GPU code. | ✅ | |
"-h, --help" | Print help information on this tool. | ✅ | |
"-V, --version" | Print version information on this tool. | ✅ | |
"-optf, --options-file <file,…>" | Include command line options from specified file. | ✅ | |
"-time, --time <filename>" | Generate a comma separated value table with the time taken by each compilation phase, and append it at the end of the file given as the option argument. If the file is empty, the column headings are generated in the first row of the table. If the file name is '-', the timing data is generated in stdout. | ✅ | |
"-qpp-config, --qpp-config <config>" | Specifies the configuration ([[compiler/]version,][target]) for the q++ host compiler. The argument is forwarded to the q++ compiler's -V flag. | ✅ | |
"-code-ls, --list-gpu-code" | List the gpu architectures (sm_XX) supported by the tool and exit. | ✅ | |
"-arch-ls, --list-gpu-arch" | List the virtual device architectures (compute_XX) supported by the tool and exit. | ✅ | |
"-fdevice-time-trace, --fdevice-time-trace" | Enables the time profiler, which outputs a JSON file with the specified file name. | ✅ | |
"-fdevice-sanitize, --fdevice-sanitize" | Enables compiler instrumentation for the compute-sanitizer tool. | ✅ | |
--Wmissing-launch-bounds, -Wmissing-launch-bounds | Generate warning when a | ✅ | |
Ptxas Options | "-allow-expensive-optimizations, --allow-expensive-optimizations" | Enables or disables expensive optimizations that use maximum available resources (memory and compile time). By default, this is enabled for optimization levels of O2 and higher. | ✅ |
"-c, --compile-only" | Generate relocatable object. | ✅ | |
"-dlcm, --def-load-cache" | Default cache modifier on global/generic load. Default value: ca. | ✅ | |
"-dscm, --def-store-cache" | Default cache modifier on global/generic store. | ✅ | |
"-g, --device-debug" | Generate debug information for device code. | ✅ | |
"-disable-optimizer-consts, --disable-optimizer-consts" | Disable use of optimizer constant bank. | ✅ | |
"-e, --entry <entry,…>" | Specify the global entry functions for which code must be generated. | ✅ | |
"-fmad, --fmad" | This option enables (disables) the contraction of floating-point multiplies and adds/subtracts into floating-point multiply-add operations (FMAD, FFMA, or DFMA). | ✅ | |
"-flcm, --force-load-cache" | Force specified cache modifier on global/generic load. | ✅ | |
"-fscm, --force-store-cache" | Force specified cache modifier on global/generic store. | ✅ | |
"-lineinfo, --generate-line-info" | Generate line-number information for device code. | ✅ | |
"-arch, --gpu-name <gpuname>" | Specify name of NVIDIA GPU to generate code for. This option also accepts virtual compute architectures; in this case, it suppresses code generation and is used for parsing only. Allowed values for this option: compute_35, compute_37, compute_50, compute_52, compute_53, compute_60, compute_61, compute_62, compute_70, compute_72, compute_75, compute_80, compute_86, compute_87, lto_35, lto_37, lto_50, lto_52, lto_53, lto_60, lto_61, lto_62, lto_70, lto_72, lto_75, lto_80, lto_86, lto_87, sm_35, sm_37, sm_50, sm_52, sm_53, sm_60, sm_61, sm_62, sm_70, sm_72, sm_75, sm_80, sm_86, sm_87 | ✅ | |
"-h, --help" | Print help information. | ✅ | |
"-m, --machine" | Specify 32-bit vs. 64-bit architecture. | ✅ | |
"-maxrregcount, --maxrregcount <amount>" | Specify the maximum amount of registers that GPU functions can use. | ✅ | |
"-O, --opt-level <N>" | Specify optimization level. Default value: 3. | ✅ | |
"-optf, --options-file <file,…>" | Include command line options from specified file. | ✅ | |
"-preserve-relocs, --preserve-relocs" | Causes ptxas to generate relocatable references for variables and preserve their corresponding relocations in the linked executable. | ✅ | |
"-sp-bound-check, --sp-bound-check" | Generates a stack-pointer bounds-checking code sequence. This is enabled automatically when using | ✅ | |
"-v, --verbose" | Enable verbose mode which prints code generation statistics. | ✅ | |
"-V, --version" | Print version information. | ✅ | |
"-Werror, --warning-as-error" | Make all warnings into errors. | ✅ | |
"-warn-double-usage, --warn-on-double-precision-use" | Warning if double(s) are used in an instruction. | ✅ | |
"-warn-lmem-usage, --warn-on-local-memory-usage" | Warning if local memory is used. | ✅ | |
"-warn-spills, --warn-on-spills" | Warning if registers are spilled to local memory. | ✅ | |
"-astoolspatch, --compile-as-tools-patch" | Compile patch code for CUDA tools. Shall not be used in conjunction with | ✅ | |
"-pic, --position-independent-code" | Generate position-independent code. | ✅ | |
"-maxntid, --maxntid" | Specify the maximum number of threads that a thread block can have. | ✅ | |
"-minnctapersm, --minnctapersm" | Specify the minimum number of CTAs to be mapped to an SM. | ✅ | |
"--make-errors-visible-at-exit, -make-errors-visible-at-exit" | Generates instructions to make memory faults and other errors visible upon exit. | ✅ | |
"--oFast-compile, -Ofc" | Specifies the fast-compile level for device code. This level controls the trade-off between compilation speed and runtime performance by disabling certain optimizations. | ✅ | |
"--device-stack-protector {true|false}, -device-stack-protector" | Enables or disables the generation of stack canaries in device code. | ✅ | |
"--override-directive-values, -override-directive-values" | Overrides PTX directive values with their corresponding option values. This option applies only to the | ✅ | |
"--suppress-async-bulk-multicast-advisory-warning, -suppress-async-bulk-multicast-advisory-warning" | Suppresses the warning that is issued when using the .multicast::cluster modifier on a cp.async.bulk{.tensor} instruction with sm_90. | ✅ | |
"--position-independent-code, -pic" | Generate position-independent code. | ✅ | |
"-g-tmem-access-check, --g-tensor-memory-access-check" | Enables tensor memory access checks for tcgen05 operations. | ✅ | |
"-split-compile, --split-compile" | Specifies the maximum number of concurrent threads to use for compiler optimizations. | ✅ | |
Nvlink Options | "-w, --disable-warnings" | Inhibit all warning messages. | ✅ |
"-preserve-relocs, --preserve-relocs" | Preserves resolved relocations in the linked executable. | ✅ | |
"-v, --verbose" | Enable verbose mode which prints code generation statistics. | ✅ | |
"-Werror, --warning-as-error" | Make all warnings into errors. | ✅ | |
"-suppress-arch-warning, --suppress-arch-warning" | Suppresses the warning printed when an object file does not contain code for the target architecture. | ✅ | |
"-suppress-stack-size-warning, --suppress-stack-size-warning" | Suppress the warning that otherwise is printed when stack size cannot be determined. | ✅ | |
"-dump-callgraph, --dump-callgraph" | Dump information about the callgraph and register usage. | ✅ | |
--dump-callgraph-no-demangle (-dump-callgraph-no-demangle) | Dump callgraph information without demangling. | ✅ | |
--Xptxas (-Xptxas) | Passes options to ptxas (LTO only). | ✅ | |
--cpu-arch (-cpu-arch) | Specifies the name of the CPU target architecture. | ✅ | |
--extra-warnings (-extrawarn) | Emits extra warnings about possible problems. | ✅ | |
--gen-host-linker-script (-ghls) | Specifies the type of host linker script to generate. | ✅ | |
--ignore-host-info (-ignore-host-info) | Ignores information about host references, preventing the removal of device code that could be referenced by the host. | ✅ | |
--keep-system-libraries (-keep-system-libraries) | Prevents system library code (e.g., cudadevrt) from being optimized away. | ✅ | |
--kernels-used (-kernels-used) | Specifies which kernels are used. You can provide a partial name to match any kernel containing that string. If this option is used, all other kernels are considered dead code and are removed. | ✅ | |
--options-file (-optf) | Includes command-line options from the specified file. | ✅ | |
--report-arch (-report-arch) | Reports the SM target architecture in error messages. | ✅ | |
--suppress-debug-info (-suppress-debug-info) | Does not preserve debug symbols in the output. This option is ignored if not used with the –debug option. | ✅ | |
Specify variables that are used. Can be part of a variable name so any variable with that string in nameare matched. If this option is used, then any other variables are considered dead-code and potentially removed unless have other accesses from device code. | ❌ | ||
--device-stack-protector {true|false} (-device-stack-protector) | Enable or disable the generation of stack canaries in device code (only used with LTO). Stack canariesmake it more difficult to exploit certain types of memory safety bugs involving stack-local variables. The compiler uses heuristics to assess the risk of such a bug in each function. Only those functions which are deemed high-risk make use of a stack canary. | ❌ |