Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > nonfree-updates > by-pkgid > fd8445e7e4d58b8cfe6e0150bd441ee1 > files > 1666

nvidia-cuda-toolkit-devel-6.5.14-6.1.mga5.nonfree.x86_64.rpm

<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" xml:lang="en-us">
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
      <meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
      <meta name="copyright" content="(C) Copyright 2005"></meta>
      <meta name="DC.rights.owner" content="(C) Copyright 2005"></meta>
      <meta name="DC.Type" content="cppModule"></meta>
      <meta name="DC.Title" content="Compilation"></meta>
      <meta name="abstract" content=""></meta>
      <meta name="description" content=""></meta>
      <meta name="DC.Format" content="XHTML"></meta>
      <meta name="DC.Identifier" content="group__compilation"></meta>
      <link rel="stylesheet" type="text/css" href="../common/formatting/commonltr.css"></link>
      <link rel="stylesheet" type="text/css" href="../common/formatting/site.css"></link>
      <title>libNVVM API :: CUDA Toolkit Documentation</title>
      <!--[if lt IE 9]>
      <script src="../common/formatting/html5shiv-printshiv.min.js"></script>
      <![endif]-->
      <script type="text/javascript" charset="utf-8" src="../common/scripts/tynt/tynt.js"></script>
      <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.min.js"></script>
      <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.ba-hashchange.min.js"></script>
      <script type="text/javascript" charset="utf-8" src="../common/formatting/jquery.scrollintoview.min.js"></script>
      <script type="text/javascript" src="../search/htmlFileList.js"></script>
      <script type="text/javascript" src="../search/htmlFileInfoList.js"></script>
      <script type="text/javascript" src="../search/nwSearchFnt.min.js"></script>
      <script type="text/javascript" src="../search/stemmers/en_stemmer.min.js"></script>
      <script type="text/javascript" src="../search/index-1.js"></script>
      <script type="text/javascript" src="../search/index-2.js"></script>
      <script type="text/javascript" src="../search/index-3.js"></script>
      <link rel="canonical" href="http://docs.nvidia.com/cuda/libnvvm-api/index.html"></link>
      <link rel="stylesheet" type="text/css" href="../common/formatting/qwcode.highlight.css"></link>
   </head>
   <body>
      
      <header id="header"><span id="company">NVIDIA</span><span id="site-title">CUDA Toolkit Documentation</span><form id="search" method="get" action="search">
            <input type="text" name="search-text"></input><fieldset id="search-location">
               <legend>Search In:</legend>
               <label><input type="radio" name="search-type" value="site"></input>Entire Site</label>
               <label><input type="radio" name="search-type" value="document"></input>Just This Document</label></fieldset>
            <button type="reset">clear search</button>
            <button id="submit" type="submit">search</button></form>
      </header>
      <div id="site-content">
         <nav id="site-nav">
            <div class="category closed"><a href="../index.html" title="The root of the site.">CUDA Toolkit
                  v6.5</a></div>
            <div class="category"><a href="index.html" title="libNVVM API">libNVVM API</a></div>
            <ul>
               <li>
                  <div class="section-link"><a href="modules.html#modules">1.&nbsp;Modules</a></div>
                  <ul>
                     <li>
                        <div class="section-link"><a href="group__error.html#group__error">1.1.&nbsp;Error Handling</a></div>
                     </li>
                     <li>
                        <div class="section-link"><a href="group__query.html#group__query">1.2.&nbsp;General Information Query</a></div>
                     </li>
                     <li>
                        <div class="section-link"><a href="group__compilation.html#group__compilation">1.3.&nbsp;Compilation</a></div>
                     </li>
                  </ul>
               </li>
               <li>
                  <div class="section-link"><a href="notices-header.html#notices-header">Notices</a></div>
                  <ul></ul>
               </li>
            </ul>
         </nav>
         <div id="resize-nav"></div>
         <nav id="search-results">
            <h2>Search Results</h2>
            <ol></ol>
         </nav>
         
         <div id="contents-container">
            <div id="breadcrumbs-container">
               <div id="breadcrumbs"><a href="group__query.html" shape="rect">&lt; Previous</a> | <a href="notices-header.html" shape="rect">Next &gt;</a></div>
               <div id="release-info">libNVVM API
                  (<a href="../../pdf/libNVVM_API.pdf">PDF</a>)
                  -
                  
                  v6.5
                  (<a href="https://developer.nvidia.com/cuda-toolkit-archive">older</a>)
                  -
                  Last updated August 1, 2014
                  -
                  <a href="mailto:cudatools@nvidia.com?subject=CUDA Toolkit Documentation Feedback: libNVVM API">Send Feedback</a>
                  -
                  <span class="st_facebook"></span><span class="st_twitter"></span><span class="st_linkedin"></span><span class="st_reddit"></span><span class="st_slashdot"></span><span class="st_tumblr"></span><span class="st_sharethis"></span></div>
            </div>
            <article id="contents">
               <div class="topic reference apiRef apiPackage cppModule" id="group__compilation"><a name="group__compilation" shape="rect">
                     <!-- --></a><h2 class="topictitle2 cppModule">1.3.&nbsp;Compilation</h2>
                  <div class="section">
                     <p></p>
                  </div>
                  <h3 class="fake_sectiontitle member_header">Typedefs</h3>
                  <dl class="members">
                     <dt><span class="member_type">typedef _nvvmProgram * &nbsp;</span><span class="member_name"><a href="#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" shape="rect">nvvmProgram</a></span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">NVVM Program. </span></dd>
                  </dl>
                  <h3 class="fake_sectiontitle member_header">Functions</h3>
                  <dl class="members">
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g0c22d2b9be033c165bc37b16f3ed75c6" shape="rect">nvvmAddModuleToProgram</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, const char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span>, size_t<span>&nbsp;</span><span class="keyword keyword apiItemName">size</span>, const char*<span>&nbsp;</span><span class="keyword keyword apiItemName">name</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Add a module level NVVM IR to a program. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g76ac1e23f5d0e2240e78be0e63450346" shape="rect">nvvmCompileProgram</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, int <span>&nbsp;</span><span class="keyword keyword apiItemName">numOptions</span>, const char**<span>&nbsp;</span><span class="keyword keyword apiItemName">options</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Compile the NVVM program. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g46a0ab04a063cba28bfbb41a1939e3f4" shape="rect">nvvmCreateProgram</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a>*<span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Create a program, and set the value of its handle to *prog. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1gfba94cab1224c0152841b80690d366aa" shape="rect">nvvmDestroyProgram</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a>*<span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Destroy a program. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1gff56fc783d0c4fb0759bfaa00f414072" shape="rect">nvvmGetCompiledResult</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Get the compiled result. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g837cfc3c852c82ecef14cda6c6702c9f" shape="rect">nvvmGetCompiledResultSize</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, size_t*<span>&nbsp;</span><span class="keyword keyword apiItemName">bufferSizeRet</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Get the size of the compiled result. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g2691e391b700f29457b7362cf5603b76" shape="rect">nvvmGetProgramLog</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Get the Compiler/Verifier Message. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g74c5e0f33b20c1168ed79669a72a7467" shape="rect">nvvmGetProgramLogSize</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, size_t*<span>&nbsp;</span><span class="keyword keyword apiItemName">bufferSizeRet</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Get the Size of Compiler/Verifier Message. </span></dd>
                     <dt><span class="member_type"><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a>&nbsp;</span><span class="member_name"><a href="#group__compilation_1g77a96a407f9c6785f47ec1ea13f9cf9f" shape="rect">nvvmVerifyProgram</a> (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, int <span>&nbsp;</span><span class="keyword keyword apiItemName">numOptions</span>, const char**<span>&nbsp;</span><span class="keyword keyword apiItemName">options</span> ) </span></dt>
                     <dd class="shortdesc"><span></span><span class="desc">Verify the NVVM program. </span></dd>
                  </dl>
                  <div class="description">
                     <h3 class="sectiontitle">Typedefs</h3>
                     <dl class="description">
                        <dt class="description"><a name="group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" id="group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" shape="rect">
                              <!-- --></a><span>typedef _nvvmProgram *  nvvmProgram</span></dt>
                        <dd class="description">
                           <div class="section">
                              <p>NVVM Program.  An opaque handle for a program </p>
                           </div>
                        </dd>
                     </dl>
                  </div>
                  <div class="description">
                     <h3 class="sectiontitle">Functions</h3>
                     <dl class="description">
                        <dt class="description"><a name="group__compilation_1g0c22d2b9be033c165bc37b16f3ed75c6" id="group__compilation_1g0c22d2b9be033c165bc37b16f3ed75c6" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmAddModuleToProgram (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, const char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span>, size_t<span>&nbsp;</span><span class="keyword keyword apiItemName">size</span>, const char*<span>&nbsp;</span><span class="keyword keyword apiItemName">name</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Add a module level NVVM IR to a program. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">buffer</span></tt></dt>
                                 <dd>NVVM IR module in the bitcode or text representation. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">size</span></tt></dt>
                                 <dd>Size of the NVVM IR module. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">name</span></tt></dt>
                                 <dd>Name of the NVVM IR module. If NULL, "&lt;unnamed&gt;" is used as the name. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_OUT_OF_MEMORY</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_INPUT</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The buffer should contain an NVVM IR module either in the bitcode representation or in the text representation.</p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g76ac1e23f5d0e2240e78be0e63450346" id="group__compilation_1g76ac1e23f5d0e2240e78be0e63450346" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmCompileProgram (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, int <span>&nbsp;</span><span class="keyword keyword apiItemName">numOptions</span>, const char**<span>&nbsp;</span><span class="keyword keyword apiItemName">options</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Compile the NVVM program. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">numOptions</span></tt></dt>
                                 <dd>Number of compiler options passed. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">options</span></tt></dt>
                                 <dd>Compiler options in the form of C string array. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_OUT_OF_MEMORY</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_IR_VERSION_MISMATCH</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_OPTION</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_NO_MODULE_IN_PROGRAM</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_COMPILATION</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The NVVM IR modules in the program will be linked at the IR level. The linked IR program is compiled to PTX.</p>
                              <p class="p">The target datalayout in the linked IR program is used to determine the address size (32bit vs 64bit).</p>
                              <p class="p">The valid compiler options are:</p>
                              <p class="p">
                                 <ul class="ul">
                                    <li class="li">
                                       <p class="p">-g (enable generation of debugging information)</p>
                                    </li>
                                    <li class="li">
                                       <div class="p">-opt=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">0 (disable optimizations)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">3 (default, enable optimizations)</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                    <li class="li">
                                       <div class="p">-arch=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">compute_20 (default)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">compute_30</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">compute_35</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                    <li class="li">
                                       <div class="p">-ftz=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">0 (default, preserve denormal values, when performing single-precision floating-point operations)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">1 (flush denormal values to zero, when performing single-precision floating-point operations)</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                    <li class="li">
                                       <div class="p">-prec-sqrt=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">0 (use a faster approximation for single-precision floating-point square root)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">1 (default, use IEEE round-to-nearest mode for single-precision floating-point square root)</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                    <li class="li">
                                       <div class="p">-prec-div=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">0 (use a faster approximation for single-precision floating-point division and reciprocals)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">1 (default, use IEEE round-to-nearest mode for single-precision floating-point division and reciprocals)</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                    <li class="li">
                                       <div class="p">-fma=
                                          <ul class="ul">
                                             <li class="li">
                                                <p class="p">0 (disable FMA contraction)</p>
                                             </li>
                                             <li class="li">
                                                <p class="p">1 (default, enable FMA contraction)</p>
                                             </li>
                                          </ul>
                                       </div>
                                    </li>
                                 </ul>
                              </p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g46a0ab04a063cba28bfbb41a1939e3f4" id="group__compilation_1g46a0ab04a063cba28bfbb41a1939e3f4" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmCreateProgram (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a>*<span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Create a program, and set the value of its handle to *prog. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_OUT_OF_MEMORY</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p></p>
                              <p class="p"></p>
                              <p class="p apiDesc_subtitle"><strong class="ph b">See also:</strong></p>
                              <p class="p see_subsection"><a class="xref" href="group__compilation.html#group__compilation_1gfba94cab1224c0152841b80690d366aa" title="Destroy a program." shape="rect">nvvmDestroyProgram()</a></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1gfba94cab1224c0152841b80690d366aa" id="group__compilation_1gfba94cab1224c0152841b80690d366aa" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmDestroyProgram (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a>*<span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Destroy a program. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p></p>
                              <p class="p"></p>
                              <p class="p apiDesc_subtitle"><strong class="ph b">See also:</strong></p>
                              <p class="p see_subsection"><a class="xref" href="group__compilation.html#group__compilation_1g46a0ab04a063cba28bfbb41a1939e3f4" title="Create a program, and set the value of its handle to *prog." shape="rect">nvvmCreateProgram()</a></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1gff56fc783d0c4fb0759bfaa00f414072" id="group__compilation_1gff56fc783d0c4fb0759bfaa00f414072" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmGetCompiledResult (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Get the compiled result. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">buffer</span></tt></dt>
                                 <dd>Compiled result. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The result is stored in the memory pointed by 'buffer'.</p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g837cfc3c852c82ecef14cda6c6702c9f" id="group__compilation_1g837cfc3c852c82ecef14cda6c6702c9f" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmGetCompiledResultSize (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, size_t*<span>&nbsp;</span><span class="keyword keyword apiItemName">bufferSizeRet</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Get the size of the compiled result. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">bufferSizeRet</span></tt></dt>
                                 <dd>Size of the compiled result (including the trailing NULL). </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g2691e391b700f29457b7362cf5603b76" id="group__compilation_1g2691e391b700f29457b7362cf5603b76" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmGetProgramLog (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, char*<span>&nbsp;</span><span class="keyword keyword apiItemName">buffer</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Get the Compiler/Verifier Message. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">buffer</span></tt></dt>
                                 <dd>Compilation/Verification log. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The NULL terminated message string is stored in the memory pointed by 'buffer' when the return value is NVVM_SUCCESS.</p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g74c5e0f33b20c1168ed79669a72a7467" id="group__compilation_1g74c5e0f33b20c1168ed79669a72a7467" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmGetProgramLogSize (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, size_t*<span>&nbsp;</span><span class="keyword keyword apiItemName">bufferSizeRet</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Get the Size of Compiler/Verifier Message. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">bufferSizeRet</span></tt></dt>
                                 <dd>Size of the compilation/verification log (including the trailing NULL). </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The size of the message string (including the trailing NULL) is stored into 'buffer_size_ret' when the return value is NVVM_SUCCESS.</p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                        <dt class="description"><a name="group__compilation_1g77a96a407f9c6785f47ec1ea13f9cf9f" id="group__compilation_1g77a96a407f9c6785f47ec1ea13f9cf9f" shape="rect">
                              <!-- --></a><span><a href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code. " shape="rect">nvvmResult</a> nvvmVerifyProgram (  <a href="group__compilation.html#group__compilation_1gd4334e62c0b6ddd8d32ef3da5c204162" title="NVVM Program. " shape="rect">nvvmProgram</a><span>&nbsp;</span><span class="keyword keyword apiItemName">prog</span>, int <span>&nbsp;</span><span class="keyword keyword apiItemName">numOptions</span>, const char**<span>&nbsp;</span><span class="keyword keyword apiItemName">options</span> ) </span></dt>
                        <dd class="description">
                           <div class="section">Verify the NVVM program. </div>
                           <div class="section">
                              <h6 class="parameter_header">
                                 Parameters
                                 
                              </h6>
                              <dl class="table-display-params">
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">prog</span></tt></dt>
                                 <dd>NVVM program. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">numOptions</span></tt></dt>
                                 <dd>Number of compiler options passed. </dd>
                                 <dt><tt class="code"><span class="keyword keyword apiItemName">options</span></tt></dt>
                                 <dd>Compiler options in the form of C string array. </dd>
                              </dl>
                           </div>
                           <div class="section">
                              <h6 class="return_header">Returns</h6>
                              <p class="return">
                                 <ul>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_SUCCESS</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_OUT_OF_MEMORY</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_IR_VERSION_MISMATCH</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_PROGRAM</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_IR</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_INVALID_OPTION</a></li>
                                    <li><a class="xref" href="group__error.html#group__error_1gf2c5dc3a2ff02166a0c39f4bf4ece2a1" title="NVVM API call result code." shape="rect">NVVM_ERROR_NO_MODULE_IN_PROGRAM</a></li>
                                 </ul>
                              </p>
                           </div>
                           <div class="section">
                              <h6 class="description_header">Description</h6>
                              <p>The valid compiler options are:</p>
                              <p class="p">NONE. The <tt class="ph tt code">numOptions</tt> and <tt class="ph tt code">options</tt> parameters are ignored, and are for future use.
                              </p>
                              <p class="p"></p>
                              <p class="p"></p>
                           </div>
                        </dd>
                     </dl>
                  </div>
               </div>
               
               <hr id="contents-end"></hr>
               
            </article>
         </div>
      </div>
      <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/formatting/common.min.js"></script>
      <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/scripts/google-analytics/google-analytics-write.js"></script>
      <script language="JavaScript" type="text/javascript" charset="utf-8" src="../common/scripts/google-analytics/google-analytics-tracker.js"></script>
      <script type="text/javascript">var switchTo5x=true;</script><script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script><script type="text/javascript">stLight.options({publisher: "998dc202-a267-4d8e-bce9-14debadb8d92", doNotHash: false, doNotCopy: false, hashAddressBar: false});</script></body>
</html>