<!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="Half Arithmetic Functions"></meta> <meta name="abstract" content=""></meta> <meta name="description" content=""></meta> <meta name="DC.Format" content="XHTML"></meta> <meta name="DC.Identifier" content="group__CUDA__MATH____HALF__ARITHMETIC"></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>CUDA Math 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="//assets.adobedtm.com/b92787824f2e0e9b68dc2e993f9bd995339fe417/satelliteLib-7ba51e58dc61bcb0e9311aadd02a0108ab24cc6c.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/cuda-math-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 v10.1.168</a></div> <div class="category"><a href="index.html" title="CUDA Math API">CUDA Math API</a></div> <ul> <li> <div class="section-link"><a href="modules.html#modules">1. Modules</a></div> <ul> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__HALF.html#group__CUDA__MATH__INTRINSIC__HALF">1.1. Half Precision Intrinsics</a></div> <ul> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__ARITHMETIC.html#group__CUDA__MATH____HALF__ARITHMETIC">1.1.1. Half Arithmetic Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__ARITHMETIC.html#group__CUDA__MATH____HALF2__ARITHMETIC">1.1.2. Half2 Arithmetic Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__COMPARISON.html#group__CUDA__MATH____HALF__COMPARISON">1.1.3. Half Comparison Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__COMPARISON.html#group__CUDA__MATH____HALF2__COMPARISON">1.1.4. Half2 Comparison Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__MISC.html#group__CUDA__MATH____HALF__MISC">1.1.5. Half Precision Conversion And Data Movement</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF__FUNCTIONS.html#group__CUDA__MATH____HALF__FUNCTIONS">1.1.6. Half Math Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH____HALF2__FUNCTIONS.html#group__CUDA__MATH____HALF2__FUNCTIONS">1.1.7. Half2 Math Functions</a></div> </li> </ul> </li> <li> <div class="section-link"><a href="group__CUDA__MATH.html#group__CUDA__MATH">1.2. Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__SINGLE.html#group__CUDA__MATH__SINGLE">1.3. Single Precision Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__DOUBLE.html#group__CUDA__MATH__DOUBLE">1.4. Double Precision Mathematical Functions</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__SINGLE.html#group__CUDA__MATH__INTRINSIC__SINGLE">1.5. Single Precision Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__DOUBLE.html#group__CUDA__MATH__INTRINSIC__DOUBLE">1.6. Double Precision Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__INT.html#group__CUDA__MATH__INTRINSIC__INT">1.7. Integer Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__CAST.html#group__CUDA__MATH__INTRINSIC__CAST">1.8. Type Casting Intrinsics</a></div> </li> <li> <div class="section-link"><a href="group__CUDA__MATH__INTRINSIC__SIMD.html#group__CUDA__MATH__INTRINSIC__SIMD">1.9. SIMD Intrinsics</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__CUDA__MATH__INTRINSIC__HALF.html" shape="rect">< Previous</a> | <a href="group__CUDA__MATH____HALF2__ARITHMETIC.html" shape="rect">Next ></a></div> <div id="release-info">CUDA Math API (<a href="../../pdf/CUDA_Math_API.pdf">PDF</a>) - v10.1.168 (<a href="https://developer.nvidia.com/cuda-toolkit-archive">older</a>) - Last updated April 24, 2019 - <a href="mailto:CUDAIssues@nvidia.com?subject=CUDA Toolkit Documentation Feedback: CUDA Math API">Send Feedback</a></div> </div> <article id="contents"> <div class="topic reference apiRef apiPackage cppModule" id="group__CUDA__MATH____HALF__ARITHMETIC"><a name="group__CUDA__MATH____HALF__ARITHMETIC" shape="rect"> <!-- --></a><h2 class="topictitle2 cppModule">1.1.1. Half Arithmetic Functions</h2> <h2 class="module_header">[<a class="xref xref apiRelation cppModuleModule" href="group__CUDA__MATH__INTRINSIC__HALF.html#group__CUDA__MATH__INTRINSIC__HALF" shape="rect">Half Precision Intrinsics</a>] </h2> <div class="section"> <p>To use these functions include the header file <tt class="ph tt code">cuda_fp16.h</tt> in your program. </p> </div> <h3 class="fake_sectiontitle member_header">Functions</h3> <dl class="members"> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half2 </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1gd4eebe93064215ca566c8606697d4c5f" shape="rect">__h2div</a> ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half2</tt> vector division in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1ga07e44376f11eaa3865163c63372475d" shape="rect">__hadd</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> addition in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g84a949d2a10e1543ec8256f5b3fd65aa" shape="rect">__hadd_sat</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> addition in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g1e8990a950a37220731255d4d0c390c4" shape="rect">__hdiv</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> division in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1gaec96bd410157b5813c940ee320175f2" shape="rect">__hfma</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span>, const __half<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> fused multiply-add in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g096f8ab8715837bf96457d1aedc513dc" shape="rect">__hfma_sat</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span>, const __half<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> fused multiply-add in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1gf2f3e02bb1d1c9992c3fe709ec826e24" shape="rect">__hmul</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) </span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> multiplication in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g5dcde50fe0cdb1f3cc9f4b409fa370a3" shape="rect">__hmul_sat</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> multiplication in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g50cef1b840dce4b95fd739d436d0d031" shape="rect">__hneg</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Negates input <tt class="ph tt code">half</tt> number and returns the result. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1g966908fa24410fddec6e50d00546e57b" shape="rect">__hsub</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> subtraction in round-to-nearest-even mode. </span></dd> <dt><span class="member_type"><span class="keyword keyword apiItemName">__device__</span> __half </span><span class="member_name"><a href="#group__CUDA__MATH____HALF__ARITHMETIC_1gcfb630a04db4e817e3be53411d7b7375" shape="rect">__hsub_sat</a> ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="shortdesc"><span></span><span class="desc">Performs <tt class="ph tt code">half</tt> subtraction in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </span></dd> </dl> <div class="description"> <h3 class="sectiontitle">Functions</h3> <dl class="description"> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1gd4eebe93064215ca566c8606697d4c5f" id="group__CUDA__MATH____HALF__ARITHMETIC_1gd4eebe93064215ca566c8606697d4c5f" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half2 __h2div ( const __half2<span> </span><span class="keyword keyword apiItemName">a</span>, const __half2<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half2</tt> vector division in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half2. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half2. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half2 <ul> <li>The <p class="p">elementwise division of <tt class="ph tt code">a</tt> with <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Divides <tt class="ph tt code">half2</tt> input vector <tt class="ph tt code">a</tt> by input vector <tt class="ph tt code">b</tt> in round-to-nearest mode. DEEPLEARN-SRM_REQ-103 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1ga07e44376f11eaa3865163c63372475d" id="group__CUDA__MATH____HALF__ARITHMETIC_1ga07e44376f11eaa3865163c63372475d" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hadd ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> addition in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">sum of <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> addition of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest-even mode. DEEPLEARN-SRM_REQ-94 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g84a949d2a10e1543ec8256f5b3fd65aa" id="group__CUDA__MATH____HALF__ARITHMETIC_1g84a949d2a10e1543ec8256f5b3fd65aa" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hadd_sat ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> addition in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">sum of <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> add of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest-even mode, and clamps the result to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g1e8990a950a37220731255d4d0c390c4" id="group__CUDA__MATH____HALF__ARITHMETIC_1g1e8990a950a37220731255d4d0c390c4" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hdiv ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> division in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of dividing <tt class="ph tt code">a</tt> by <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Divides <tt class="ph tt code">half</tt> input <tt class="ph tt code">a</tt> by input <tt class="ph tt code">b</tt> in round-to-nearest mode. DEEPLEARN-SRM_REQ-98 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1gaec96bd410157b5813c940ee320175f2" id="group__CUDA__MATH____HALF__ARITHMETIC_1gaec96bd410157b5813c940ee320175f2" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hfma ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span>, const __half<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> fused multiply-add in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">c</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of fused multiply-add operation on <tt class="ph tt code">a</tt>, <tt class="ph tt code">b</tt>, and <tt class="ph tt code">c</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> multiply on inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, then performs a <tt class="ph tt code">half</tt> add of the result with <tt class="ph tt code">c</tt>, rounding the result once in round-to-nearest-even mode. DEEPLEARN-SRM_REQ-96 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g096f8ab8715837bf96457d1aedc513dc" id="group__CUDA__MATH____HALF__ARITHMETIC_1g096f8ab8715837bf96457d1aedc513dc" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hfma_sat ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span>, const __half<span> </span><span class="keyword keyword apiItemName">c</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> fused multiply-add in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">c</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of fused multiply-add operation on <tt class="ph tt code">a</tt>, <tt class="ph tt code">b</tt>, and <tt class="ph tt code">c</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> multiply on inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, then performs a <tt class="ph tt code">half</tt> add of the result with <tt class="ph tt code">c</tt>, rounding the result once in round-to-nearest-even mode, and clamps the result to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1gf2f3e02bb1d1c9992c3fe709ec826e24" id="group__CUDA__MATH____HALF__ARITHMETIC_1gf2f3e02bb1d1c9992c3fe709ec826e24" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hmul ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) </span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> multiplication in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of multiplying <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> multiplication of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest mode. DEEPLEARN-SRM_REQ-99 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g5dcde50fe0cdb1f3cc9f4b409fa370a3" id="group__CUDA__MATH____HALF__ARITHMETIC_1g5dcde50fe0cdb1f3cc9f4b409fa370a3" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hmul_sat ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> multiplication in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of multiplying <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Performs <tt class="ph tt code">half</tt> multiplication of inputs <tt class="ph tt code">a</tt> and <tt class="ph tt code">b</tt>, in round-to-nearest mode, and clamps the result to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g50cef1b840dce4b95fd739d436d0d031" id="group__CUDA__MATH____HALF__ARITHMETIC_1g50cef1b840dce4b95fd739d436d0d031" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hneg ( const __half<span> </span><span class="keyword keyword apiItemName">a</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Negates input <tt class="ph tt code">half</tt> number and returns the 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">a</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>minus <p class="p">a </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Negates input <tt class="ph tt code">half</tt> number and returns the result. DEEPLEARN-SRM_REQ-100 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1g966908fa24410fddec6e50d00546e57b" id="group__CUDA__MATH____HALF__ARITHMETIC_1g966908fa24410fddec6e50d00546e57b" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hsub ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> subtraction in round-to-nearest-even mode. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of subtracting <tt class="ph tt code">b</tt> from <tt class="ph tt code">a</tt>. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Subtracts <tt class="ph tt code">half</tt> input <tt class="ph tt code">b</tt> from input <tt class="ph tt code">a</tt> in round-to-nearest mode. DEEPLEARN-SRM_REQ-97 </p> <p class="p"></p> </div> </dd> <dt class="description"><a name="group__CUDA__MATH____HALF__ARITHMETIC_1gcfb630a04db4e817e3be53411d7b7375" id="group__CUDA__MATH____HALF__ARITHMETIC_1gcfb630a04db4e817e3be53411d7b7375" shape="rect"> <!-- --></a><span><span class="keyword keyword apiItemName">__device__</span> __half __hsub_sat ( const __half<span> </span><span class="keyword keyword apiItemName">a</span>, const __half<span> </span><span class="keyword keyword apiItemName">b</span> ) throw ( )</span></dt> <dd class="description"> <div class="section">Performs <tt class="ph tt code">half</tt> subtraction in round-to-nearest-even mode, with saturation to [0.0, 1.0]. </div> <div class="section"> <h6 class="parameter_header"> Parameters </h6> <dl class="table-display-params"> <dt><tt class="code"><span class="keyword keyword apiItemName">a</span></tt></dt> <dd>- half. Is only being read. </dd> <dt><tt class="code"><span class="keyword keyword apiItemName">b</span></tt></dt> <dd>- half. Is only being read.</dd> </dl> </div> <div class="section"> <h6 class="return_header">Returns</h6> <p class="return">half <ul> <li>The <p class="p">result of subtraction of <tt class="ph tt code">b</tt> from <tt class="ph tt code">a</tt>, with respect to saturation. </p> </li> </ul> </p> </div> <div class="section"> <h6 class="description_header">Description</h6> <p>Subtracts <tt class="ph tt code">half</tt> input <tt class="ph tt code">b</tt> from input <tt class="ph tt code">a</tt> in round-to-nearest mode, and clamps the result to range [0.0, 1.0]. NaN results are flushed to +0.0. TBR </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><script type="text/javascript">_satellite.pageBottom();</script></body> </html>