1.3. Compilation

Typedefs

typedef _nvvmProgram *  nvvmProgram
NVVM Program.

Functions

nvvmResult nvvmAddModuleToProgram ( nvvmProgram prog, const char* buffer, size_t size, const char* name )
Add a module level NVVM IR to a program.
nvvmResult nvvmCompileProgram ( nvvmProgram prog, int  numOptions, const char** options )
Compile the NVVM program.
nvvmResult nvvmCreateProgram ( nvvmProgram* prog )
Create a program, and set the value of its handle to *prog.
nvvmResult nvvmDestroyProgram ( nvvmProgram* prog )
Destroy a program.
nvvmResult nvvmGetCompiledResult ( nvvmProgram prog, char* buffer )
Get the compiled result.
nvvmResult nvvmGetCompiledResultSize ( nvvmProgram prog, size_t* bufferSizeRet )
Get the size of the compiled result.
nvvmResult nvvmGetProgramLog ( nvvmProgram prog, char* buffer )
Get the Compiler/Verifier Message.
nvvmResult nvvmGetProgramLogSize ( nvvmProgram prog, size_t* bufferSizeRet )
Get the Size of Compiler/Verifier Message.
nvvmResult nvvmVerifyProgram ( nvvmProgram prog, int  numOptions, const char** options )
Verify the NVVM program.

Typedefs

typedef _nvvmProgram * nvvmProgram

NVVM Program. An opaque handle for a program

Functions

nvvmResult nvvmAddModuleToProgram ( nvvmProgram prog, const char* buffer, size_t size, const char* name )
Add a module level NVVM IR to a program.
Parameters
prog
NVVM program.
buffer
NVVM IR module in the bitcode or text representation.
size
Size of the NVVM IR module.
name
Name of the NVVM IR module. If NULL, "<unnamed>" is used as the name.
Description

The buffer should contain an NVVM IR module either in the bitcode representation or in the text representation.

nvvmResult nvvmCompileProgram ( nvvmProgram prog, int  numOptions, const char** options )
Compile the NVVM program.
Parameters
prog
NVVM program.
numOptions
Number of compiler options passed.
options
Compiler options in the form of C string array.
Description

The valid compiler options are:

  • -g (enable generation of debugging information)

  • -opt=
    • 0 (disable optimizations)

    • 3 (default, enable optimizations)

  • -arch=
    • compute_20 (default)

    • compute_30

    • compute_35

  • -ftz=
    • 0 (default, preserve denormal values, when performing single-precision floating-point operations)

    • 1 (flush denormal values to zero, when performing single-precision floating-point operations)

  • -prec-sqrt=
    • 0 (use a faster approximation for single-precision floating-point square root)

    • 1 (default, use IEEE round-to-nearest mode for single-precision floating-point square root)

  • -prec-div=
    • 0 (use a faster approximation for single-precision floating-point division and reciprocals)

    • 1 (default, use IEEE round-to-nearest mode for single-precision floating-point division and reciprocals)

  • -fma=
    • 0 (disable FMA contraction)

    • 1 (default, enable FMA contraction)

nvvmResult nvvmCreateProgram ( nvvmProgram* prog )
Create a program, and set the value of its handle to *prog.
Parameters
prog
NVVM program.
Description

See also:

nvvmDestroyProgram()

nvvmResult nvvmDestroyProgram ( nvvmProgram* prog )
Destroy a program.
Parameters
prog
NVVM program.
Description

See also:

nvvmCreateProgram()

nvvmResult nvvmGetCompiledResult ( nvvmProgram prog, char* buffer )
Get the compiled result.
Parameters
prog
NVVM program.
buffer
Compiled result.
Description

The result is stored in the memory pointed by 'buffer'.

nvvmResult nvvmGetCompiledResultSize ( nvvmProgram prog, size_t* bufferSizeRet )
Get the size of the compiled result.
Parameters
prog
NVVM program.
bufferSizeRet
Size of the compiled result (including the trailing NULL).
Description

nvvmResult nvvmGetProgramLog ( nvvmProgram prog, char* buffer )
Get the Compiler/Verifier Message.
Parameters
prog
NVVM program program.
buffer
Compilation/Verification log.
Description

The NULL terminated message string is stored in the memory pointed by 'buffer' when the return value is NVVM_SUCCESS.

nvvmResult nvvmGetProgramLogSize ( nvvmProgram prog, size_t* bufferSizeRet )
Get the Size of Compiler/Verifier Message.
Parameters
prog
NVVM program.
bufferSizeRet
Size of the compilation/verification log (including the trailing NULL).
Description

The size of the message string (including the trailing NULL) is stored into 'buffer_size_ret' when the return value is NVVM_SUCCESS.

nvvmResult nvvmVerifyProgram ( nvvmProgram prog, int  numOptions, const char** options )
Verify the NVVM program.
Parameters
prog
NVVM program.
numOptions
Number of compiler options passed.
options
Compiler options in the form of C string array.
Description

The valid compiler options are:

NONE. The numOptions and options parameters are ignored, and are for future use.