OSDN Git Service

new file: Integration/Tomography/Makefile.recent
[eos/hostdependX86LINUX64.git] / hostdepend / X86MAC64 / util / X86MAC64 / cuda / man / man1 / nvcc.1
1 .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
29 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
31 .\" nothing in troff, for use with C<>.
32 .tr \(*W-
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C`  
42 .    ds C'  
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" Escape single quotes in literal strings from groff's Unicode transform.
52 .ie \n(.g .ds Aq \(aq
53 .el       .ds Aq '
54 .\"
55 .\" If the F register is turned on, we'll generate index entries on stderr for
56 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
57 .\" entries marked with X<> in POD.  Of course, you'll have to process the
58 .\" output yourself in some meaningful fashion.
59 .ie \nF \{\
60 .    de IX
61 .    tm Index:\\$1\t\\n%\t"\\$2"
62 ..
63 .    nr % 0
64 .    rr F
65 .\}
66 .el \{\
67 .    de IX
68 ..
69 .\}
70 .\"
71 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
72 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
73 .    \" fudge factors for nroff and troff
74 .if n \{\
75 .    ds #H 0
76 .    ds #V .8m
77 .    ds #F .3m
78 .    ds #[ \f1
79 .    ds #] \fP
80 .\}
81 .if t \{\
82 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
83 .    ds #V .6m
84 .    ds #F 0
85 .    ds #[ \&
86 .    ds #] \&
87 .\}
88 .    \" simple accents for nroff and troff
89 .if n \{\
90 .    ds ' \&
91 .    ds ` \&
92 .    ds ^ \&
93 .    ds , \&
94 .    ds ~ ~
95 .    ds /
96 .\}
97 .if t \{\
98 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
99 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
100 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
101 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
102 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
103 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
104 .\}
105 .    \" troff and (daisy-wheel) nroff accents
106 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
107 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
108 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
109 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
110 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
111 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
112 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
113 .ds ae a\h'-(\w'a'u*4/10)'e
114 .ds Ae A\h'-(\w'A'u*4/10)'E
115 .    \" corrections for vroff
116 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
117 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
118 .    \" for low resolution devices (crt and lpr)
119 .if \n(.H>23 .if \n(.V>19 \
120 \{\
121 .    ds : e
122 .    ds 8 ss
123 .    ds o a
124 .    ds d- d\h'-1'\(ga
125 .    ds D- D\h'-1'\(hy
126 .    ds th \o'bp'
127 .    ds Th \o'LP'
128 .    ds ae ae
129 .    ds Ae AE
130 .\}
131 .rm #[ #] #H #V #F C
132 .\" ========================================================================
133 .\"
134 .IX Title "nvcc 1"
135 .TH nvcc 1 "Dec 2008" "NVIDIA CUDA" "NVIDIA CUDA Documentation"
136 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
137 .\" way too many mistakes in technical documents.
138 .if n .ad l
139 .nh
140 .SH "NAME"
141 \&\fBnvcc\fR \- \s-1NVIDIA\s0 \s-1CUDA\s0 compiler driver
142 .SH "SYNOPSIS"
143 .IX Header "SYNOPSIS"
144 \&\f(CW\*(C`nvcc [options] <inputfile> \*(C'\fR
145 .SH "OPTIONS"
146 .IX Header "OPTIONS"
147 .Sh "Options for specifying the compilation phase"
148 .IX Subsection "Options for specifying the compilation phase"
149 More exactly, this option specifies up to which stage the input files must be compiled,
150 according to the following compilation trajectories for different input file types:
151 .PP
152 .Vb 6
153 \&        .c/.cc/.cpp/.cxx : preprocess, compile, link
154 \&        .i/.ii           : compile, link
155 \&        .cu              : preprocess, cuda frontend, ptxassemble,
156 \&                           merge with host C code, compile, link
157 \&        .gpu             : nvopencc compile into cubin
158 \&        .ptx             : ptxassemble into cubin.
159 .Ve
160 .IP "\-\-cuda  (\-cuda)" 4
161 .IX Item "--cuda  (-cuda)"
162 Compile all .cu input files to .cu.c output.
163 .IP "\-\-cubin (\-cubin)" 4
164 .IX Item "--cubin (-cubin)"
165 Compile all .cu/.ptx/.gpu input files to device-only .cubin files. This
166 step discards the host code for each .cu input file.
167 .IP "\-\-fatbin (\-fatbin)" 4
168 .IX Item "--fatbin (-fatbin)"
169 Compile all .cu/.ptx/.gpu input files to ptx or device\- only .cubin files
170 (depending on the values specified for options '\-arch' and/or '\-code') and
171 place the result into the fat binary file specified with option \-o.
172 This step discards the host code for each .cu input file.
173 .IP "\-\-ptx (\-ptx)" 4
174 .IX Item "--ptx (-ptx)"
175 Compile all .cu/.gpu input files to device\- only .ptx files. This step discards
176 the host code for each of these input file.
177 .IP "\-\-gpu (\-gpu)" 4
178 .IX Item "--gpu (-gpu)"
179 Compile all .cu input files to device\- only .gpu files. This step discards
180 the host code for each .cu input file.
181 .IP "\-\-preprocess (\-E)" 4
182 .IX Item "--preprocess (-E)"
183 Preprocess all .c/.cc/.cpp/.cxx/.cu input files.
184 .IP "\-\-generate\-dependencies (\-M)" 4
185 .IX Item "--generate-dependencies (-M)"
186 Generate for the one .c/.cc/.cpp/.cxx/.cu input file (more than one input
187 file is not allowed in this mode) a dependency file that can be included
188 in a make file.
189 .IP "\-\-compile (\-c)" 4
190 .IX Item "--compile (-c)"
191 Compile each .c/.cc/.cpp/.cxx/.cu input file into an object file.
192 .IP "\-\-link (\-link)" 4
193 .IX Item "--link (-link)"
194 This option specifies the default behavior: compile and link all inputs.
195 .IP "\-\-lib (\-lib)" 4
196 .IX Item "--lib (-lib)"
197 Compile all inputs into object files (if necessary) and add the results to
198 the specified output library file.
199 .IP "\-\-run (\-run)" 4
200 .IX Item "--run (-run)"
201 This option compiles and links all inputs into an executable, and executes
202 it. Or, when the input is a single executable, it is executed without any
203 compilation or linking. This step is intended for developers who do not want
204 to be bothered with setting the necessary cuda dll search paths (these will
205 be set temporarily by nvcc).
206 .Sh "File and path specifications"
207 .IX Subsection "File and path specifications"
208 .IP "\-\-output\-file <file>  (\-o)" 4
209 .IX Item "--output-file <file>  (-o)"
210 Specify name and location of the output file. Only a single input file is
211 allowed when this option is present in nvcc non\- linking/archiving mode.
212 .IP "\-\-pre\-include <include\-file>,... (\-include)" 4
213 .IX Item "--pre-include <include-file>,... (-include)"
214 Specify header files that must be preincluded during preprocessing.
215 .IP "\-\-library <library>,... (\-l)" 4
216 .IX Item "--library <library>,... (-l)"
217 Specify libraries to be used in the linking stage. The libraries are searched
218 for on the library search paths that have been specified using option '\-L'.
219 .IP "\-\-define\-macro <macrodef>,... (\-D)" 4
220 .IX Item "--define-macro <macrodef>,... (-D)"
221 Specify macro definitions to define for use during preprocessing or compilation.
222 .IP "\-\-undefine\-macro <macrodef>,... (\-U)" 4
223 .IX Item "--undefine-macro <macrodef>,... (-U)"
224 Specify macro definitions to undefine for use during preprocessing or compilation.
225 .IP "\-\-include\-path <include\-path>,... (\-I)" 4
226 .IX Item "--include-path <include-path>,... (-I)"
227 Specify include search paths.
228 .IP "\-\-system\-include <include\-path>,... (\-isystem)" 4
229 .IX Item "--system-include <include-path>,... (-isystem)"
230 Specify system include search paths.
231 .IP "\-\-library\-path <library\-path>,... (\-L)" 4
232 .IX Item "--library-path <library-path>,... (-L)"
233 Specify library search paths.
234 .IP "\-\-output\-directory <directory> (\-odir)" 4
235 .IX Item "--output-directory <directory> (-odir)"
236 Specify the directory of the output file. This option is intended for letting
237 the dependency generation step (option '\-\-generate\-dependencies') generate
238 a rule that defines the target object file in the proper directory.
239 .IP "\-\-compiler\-bindir <directory> (\-ccbin)" 4
240 .IX Item "--compiler-bindir <directory> (-ccbin)"
241 Specify the directory in which the compiler executable (Microsoft Visual
242 Studion cl, or a gcc derivative) resides. By default, this executable is
243 expected in the current executable search path.
244 .Sh "Options for specifying behaviour of compiler/linker"
245 .IX Subsection "Options for specifying behaviour of compiler/linker"
246 .IP "\-\-profile (\-pg)" 4
247 .IX Item "--profile (-pg)"
248 Instrument generated code/executable for use by gprof (Linux only).
249 .IP "\-\-debug (\-g)" 4
250 .IX Item "--debug (-g)"
251 Generate debug information for host code.
252 .IP "\-\-device\-debug <level> (\-G)" 4
253 .IX Item "--device-debug <level> (-G)"
254 Generate debug information for device code, plus also specify the optimization
255 level for the device code in order to control its 'debuggability'.
256 .Sp
257 Allowed values for this option:  0,1,2,3.
258 .IP "\-\-extern\-debug\-info (\-extdeb)" 4
259 .IX Item "--extern-debug-info (-extdeb)"
260 Only valid when generating debug information. Convert the dwarf information
261 corresponding with the device code in an Elf file into the fat binary into
262 which also the code binary will be placed. This mode is default on Windows
263 but the default on Linux is to link this dwarf information against the host
264 executable, which supports integrated host/target debugging by cuda-gdb.
265 .IP "\-\-optimize <level> (\-O)" 4
266 .IX Item "--optimize <level> (-O)"
267 Specify optimization level for host code.
268 .IP "\-\-shared (\-shared)" 4
269 .IX Item "--shared (-shared)"
270 Generate a shared library during linking. Note: when other linker options
271 are required for controlling dll generation, use option \-Xlinker.
272 .IP "\-\-machine <bits> (\-m)" 4
273 .IX Item "--machine <bits> (-m)"
274 Specify 32 vs 64 bit architecture.
275 .Sp
276 Allowed values for this option: 32,64.
277 .Sp
278 Default value: 32.
279 .Sh "Options for passing specific phase options"
280 .IX Subsection "Options for passing specific phase options"
281 These allow for passing options directly to the intended compilation phase. Using
282 these, users have the ability to pass options to the lower level compilation tools,
283 without the need for nvcc to know about each and every such option.
284 .IP "\-\-compiler\-options <options>,... (\-Xcompiler)" 4
285 .IX Item "--compiler-options <options>,... (-Xcompiler)"
286 Specify options directly to the compiler/preprocessor.
287 .IP "\-\-linker\-options <options>,... (\-Xlinker)" 4
288 .IX Item "--linker-options <options>,... (-Xlinker)"
289 Specify options directly to the linker.
290 .IP "\-\-opencc\-options <options>,... (\-Xopencc)" 4
291 .IX Item "--opencc-options <options>,... (-Xopencc)"
292 Specify options directly to nvopencc.
293 .IP "\-\-cudafe\-options <options>,... (\-Xcudafe)" 4
294 .IX Item "--cudafe-options <options>,... (-Xcudafe)"
295 Specify options directly to cudafe.
296 .IP "\-\-ptxas\-options <options>,... (\-Xptxas)" 4
297 .IX Item "--ptxas-options <options>,... (-Xptxas)"
298 Specify options directly to the ptx optimizing assembler.
299 .IP "\-\-fatbin\-options <options>,... (\-Xfatbin)" 4
300 .IX Item "--fatbin-options <options>,... (-Xfatbin)"
301 Specify options directly to the fatbin generator.
302 .Sh "Miscellaneous options for guiding the compiler driver"
303 .IX Subsection "Miscellaneous options for guiding the compiler driver"
304 .IP "\-\-dont\-use\-profile (\-noprof)" 4
305 .IX Item "--dont-use-profile (-noprof)"
306 This is intended for use during the cuda build, when no profile is present
307 yet.
308 .IP "\-\-foreign (\-foreign)" 4
309 .IX Item "--foreign (-foreign)"
310 This option is for test purposes only. By default, on Gnu platforms gcc/g++
311 is assumed to be the compiler that is to be used. On pure windows platforms,
312 the compiler to be used is expected to be cl. This option reverses this assumption.
313 .IP "\-\-dryrun (\-dryrun)" 4
314 .IX Item "--dryrun (-dryrun)"
315 Do not execute the compilation commands generated by nvcc. Instead, list
316 them.
317 .IP "\-\-verbose (\-v)" 4
318 .IX Item "--verbose (-v)"
319 List the compilation commands generated by this compiler driver, but do not
320 suppress their execution.
321 .IP "\-\-keep (\-keep)" 4
322 .IX Item "--keep (-keep)"
323 Keep all intermediate files that are generated during internal compilation
324 steps.
325 .IP "\-\-save\-temps (\-save\-temps)" 4
326 .IX Item "--save-temps (-save-temps)"
327 This option is an alias of '\-\-keep'.
328 .IP "\-\-clean\-targets (\-clean)" 4
329 .IX Item "--clean-targets (-clean)"
330 This option reverses the behaviour of nvcc. When specified, none of the compilation
331 phases will be executed. Instead, all of the non-temporary files that nvcc
332 would otherwise create will be deleted.
333 .IP "\-\-run\-args <arguments>,... (\-run\-args)" 4
334 .IX Item "--run-args <arguments>,... (-run-args)"
335 Used in combination with option \-R, to specify command line arguments for
336 the executable.
337 .IP "\-\-input\-drive\-prefix <prefix> (\-idp)" 4
338 .IX Item "--input-drive-prefix <prefix> (-idp)"
339 On Windows platforms, all command line arguments that refer to file names
340 must be converted to Windows native format before they are passed to pure
341 Windows executables. This option specifies how the 'current' development
342 environment represents absolute paths. Use '\-idp /cygwin/' for CygWin build
343 environments, and '\-idp /' for Mingw.
344 .IP "\-\-dependency\-drive\-prefix <prefix> (\-ddp)" 4
345 .IX Item "--dependency-drive-prefix <prefix> (-ddp)"
346 On Windows platforms, when generating dependency files (option \-M), all file
347 names must be converted to whatever the used instance of 'make' will recognize.
348 Some instances of 'make' have trouble with the colon in absolute paths in
349 native Windows format, which depends on the environment in which this 'make'
350 instance has been compiled. Use '\-ddp /cygwin/' for a CygWin make, and
351 \&'\-ddp/' for Mingw. Or leave these file names in native Windows format by specifying nothing.
352 .IP "\-\-drive\-prefix <prefix> (\-dp)" 4
353 .IX Item "--drive-prefix <prefix> (-dp)"
354 Specifies <prefix> as both input-drive-prefix and dependency-drive-prefix.
355 .IP "\-\-no\-align\-double" 4
356 .IX Item "--no-align-double"
357 Specifies that \-malign\-double should not be passed as a compiler argument
358 on 32\-bit platforms. \s-1WARNING:\s0 this makes the \s-1ABI\s0 incompatible with the cuda
359 kernel \s-1ABI\s0 for certain 64\-bit types.
360 .Sh "Options for steering \s-1GPU\s0 code generation"
361 .IX Subsection "Options for steering GPU code generation"
362 .IP "\-\-gpu\-name <gpu architecture name> (\-arch)" 4
363 .IX Item "--gpu-name <gpu architecture name> (-arch)"
364 Specify the name of the class of nVidia \s-1GPU\s0 architectures for which the cuda
365 input files must be compiled.
366 .Sp
367 With the exception as described for the shorthand below, the architecture
368 specified with this option must be a virtual architecture (such as compute_10),
369 and it will be the assumed architecture during the nvopencc compilation stage.
370 .Sp
371 This option will cause no code to be generated (that is the role of nvcc
372 option '\-\-gpu\-code', see below); rather, its purpose is to steer the nvopencc
373 stage, influencing the architecture of the generated ptx intermediate.
374 .Sp
375 For convenience in case of simple nvcc compilations the following shorthand
376 is supported: if no value for option '\-\-gpu\-code' is specified, then the
377 value of this option defaults to the value of '\-\-gpu\-architecture'. In this
378 situation, as only exception to the description above, the value specified
379 for '\-\-gpu\-architecture' may be a 'real' architecture (such as a sm_13),
380 in which case nvcc uses the closest virtual architecture as effective architecture
381 value. For example, 'nvcc \-arch=sm_13' is equivalent to 'nvcc \-arch=compute_13
382 \&\-code=sm_13'.
383 .Sp
384 Allowed values for this option:  'compute_10','compute_11','compute_12','compute_13',
385 \&'sm_10','sm_11','sm_12','sm_13'.
386 .IP "\-\-gpu\-code <gpu architecture name>,... (\-code)" 4
387 .IX Item "--gpu-code <gpu architecture name>,... (-code)"
388 Specify the names of nVidia gpus to generate code for.
389 .Sp
390 Unless option \-export\-dir is specified (see below), nvcc will embed a compiled
391 code image in the resulting executable for each specified 'code' architecture.
392 This code image will be a true binary load image for each 'real' architecture
393 (such as a sm_13), and ptx intermediate code for each virtual architecture
394 (such as compute_10). During runtime, in case no better binary load image
395 is found, and provided that the ptx architecture is compatible with the 'current'
396 \&\s-1GPU\s0, such embedded ptx code will be dynamically translated for this current
397 \&\s-1GPU\s0 by the cuda runtime system.
398 .Sp
399 Architectures specified for this option can be virtual as well as real, but
400 each of these 'code' architectures must be compatible with the architecture
401 specified with option '\-\-gpu\-architecture'.
402 .Sp
403 For instance, 'arch'=compute_13 is not compatible with 'code'=sm_10, because
404 the generated ptx code will assume the availability of compute_13 features
405 that are not present on sm_10.
406 .Sp
407 Allowed values for this option:  'compute_10','compute_11','compute_12','compute_13',
408 \&'sm_10','sm_11','sm_12','sm_13'.
409 .IP "\-\-generate\-code (\-gencode)" 4
410 .IX Item "--generate-code (-gencode)"
411 This option provides a generalization of the '\-\-gpu\-architecture=<arch> \-\-gpu\-code=code,
412 \&...' option combination for specifying nvcc behavior with respect to code
413 generation. Where use of the previous options generates different code for
414 a fixed virtual architecture, option '\-\-generate\-code' allows multiple nvopencc
415 invocations, iterating over different virtual architectures. In fact,
416 .Sp
417 .Vb 1
418 \&        \*(Aq\-\-gpu\-architecture=E<lt>archE<gt> \-\-gpu\-code=E<lt>codeE<gt>,...\*(Aq
419 .Ve
420 .Sp
421 is equivalent to
422 .Sp
423 .Vb 1
424 \&        \*(Aq\-\-generate\-code arch=E<lt>archE<gt>,code=E<lt>codeE<gt>,...\*(Aq.
425 .Ve
426 .Sp
427 \&'\-\-generate\-code' options may be repeated for different virtual architectures.
428 .Sp
429 Allowed keywords for this option:  'arch','code'.
430 .IP "\-\-export\-dir <file name> (\-dir)" 4
431 .IX Item "--export-dir <file name> (-dir)"
432 Specify the name of a file to which all 'external' code images will be copied,
433 intended as a device code repository that can be inspected by the cuda driver
434 at application runtime when it occurs in the appropriate device code search
435 paths.
436 .Sp
437 This file can be either a directory or a zip file. In either case, this
438 tool will maintain a directory structure in order to facilitate code lookup
439 by the cuda driver. When this option is not used, all 'external' images will
440 be silently discarded. When a directory is specified, but does not currently
441 exist, then it will be created as a common directory (not a zip file).
442 .IP "\-\-extern\-mode <mode> (\-ext)" 4
443 .IX Item "--extern-mode <mode> (-ext)"
444 Specify which of the listed images will be copied into the directory specified
445 with option 'export\-dir'.
446 .Sp
447 If this option is not specified, the behavior is as follows: if option 'intern\-mode'
448 is specified then all listed images that are not defined as intern will be
449 considered extern. Otherwise, if neither of these options are specified,
450 then all listed images will be considered as intern. Note that it is allowed
451 to both embed code images and keep them extern.
452 .Sp
453 Allowed values for this option:  'all','none','real','virtual'.
454 .IP "\-\-intern\-mode <mode> (\-int)" 4
455 .IX Item "--intern-mode <mode> (-int)"
456 Specify which of the listed images will be copied into the embedded fat binary
457 structure (option 'embedded\-fatbin').
458 .Sp
459 If this option is not specified, the behavior is as follows: if option 'extern\-mode'
460 is specified then all listed images that are not defined as extern will be
461 considered extern. Otherwise, if neither of these options are specified,
462 then all listed images will be considered as intern. Note that it is allowed
463 to both embed code images and keep them extern.
464 .Sp
465 Allowed values for this option:  'all','none','real','virtual'.
466 .IP "\-\-maxrregcount <N> (\-maxrregcount)" 4
467 .IX Item "--maxrregcount <N> (-maxrregcount)"
468 Specify the maximum amount of registers that \s-1GPU\s0 functions can use. Until
469 a function\- specific limit, a higher value will generally increase the performance
470 of individual \s-1GPU\s0 threads that execute this function. However, because thread
471 registers are allocated from a global register pool on each \s-1GPU\s0, a higher
472 value of this option will also reduce the maximum thread block size, thereby
473 reducing the amount of thread parallelism. Hence, a good maxrregcount value
474 is the result of a trade-off.
475 .Sp
476 If this option is not specified, then no maximum is assumed. Otherwise the
477 specified value will be rounded to the next multiple of 4 registers until
478 the \s-1GPU\s0 specific maximum of 128 registers.
479 .Sh "Options for steering cuda compilation"
480 .IX Subsection "Options for steering cuda compilation"
481 .IP "\-\-device\-emulation (\-deviceemu)" 4
482 .IX Item "--device-emulation (-deviceemu)"
483 Generate code for the \s-1GPGPU\s0 emulation library.
484 .IP "\-\-use_fast_math (\-use_fast_math)" 4
485 .IX Item "--use_fast_math (-use_fast_math)"
486 Make use of fast math library.
487 .IP "\-\-host\-compilation <language>" 4
488 .IX Item "--host-compilation <language>"
489 Specify C vs. \*(C+ language for host code in \s-1CUDA\s0 source files.
490 .Sp
491 Allowed values for this option:  'C','\*(C+','c','c++'.
492 .Sp
493 Default value:  '\*(C+'.
494 .Sh "Generic tool options"
495 .IX Subsection "Generic tool options"
496 .IP "\-\-help (\-h)" 4
497 .IX Item "--help (-h)"
498 Print help information on this tool.
499 .IP "\-\-version (\-V)" 4
500 .IX Item "--version (-V)"
501 Print version information on this tool.
502 .IP "\-\-options\-file <file>,... (\-optf)" 4
503 .IX Item "--options-file <file>,... (-optf)"
504 Include command line options from specified file.