<!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="concept"></meta> <meta name="DC.Title" content="Basic Usage"></meta> <meta name="DC.Format" content="XHTML"></meta> <meta name="DC.Identifier" content="basic-usage"></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>libdevice User's Guide :: 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/libdevice-users-guide/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="libdevice User's Guide">libdevice User's Guide</a></div> <ul> <li> <div class="section-link"><a href="introduction.html#introduction">1. Introduction</a></div> <ul> <li> <div class="section-link"><a href="introduction.html#what-is-libdevice">1.1. What Is libdevice?</a></div> </li> </ul> </li> <li> <div class="section-link"><a href="basic-usage.html#basic-usage">2. Basic Usage</a></div> <ul> <li> <div class="section-link"><a href="basic-usage.html#linking-with-libdevice">2.1. Linking with libdevice</a></div> </li> </ul> </li> <li> <div class="section-link"><a href="function-desc.html#function-desc">3. Function Reference</a></div> <ul> <li> <div class="section-link"><a href="__nv_abs.html#__nv_abs">3.1. __nv_abs</a></div> </li> <li> <div class="section-link"><a href="__nv_acos.html#__nv_acos">3.2. __nv_acos</a></div> </li> <li> <div class="section-link"><a href="__nv_acosf.html#__nv_acosf">3.3. __nv_acosf</a></div> </li> <li> <div class="section-link"><a href="__nv_acosh.html#__nv_acosh">3.4. __nv_acosh</a></div> </li> <li> <div class="section-link"><a href="__nv_acoshf.html#__nv_acoshf">3.5. __nv_acoshf</a></div> </li> <li> <div class="section-link"><a href="__nv_asin.html#__nv_asin">3.6. __nv_asin</a></div> </li> <li> <div class="section-link"><a href="__nv_asinf.html#__nv_asinf">3.7. __nv_asinf</a></div> </li> <li> <div class="section-link"><a href="__nv_asinh.html#__nv_asinh">3.8. __nv_asinh</a></div> </li> <li> <div class="section-link"><a href="__nv_asinhf.html#__nv_asinhf">3.9. __nv_asinhf</a></div> </li> <li> <div class="section-link"><a href="__nv_atan.html#__nv_atan">3.10. __nv_atan</a></div> </li> <li> <div class="section-link"><a href="__nv_atan2.html#__nv_atan2">3.11. __nv_atan2</a></div> </li> <li> <div class="section-link"><a href="__nv_atan2f.html#__nv_atan2f">3.12. __nv_atan2f</a></div> </li> <li> <div class="section-link"><a href="__nv_atanf.html#__nv_atanf">3.13. __nv_atanf</a></div> </li> <li> <div class="section-link"><a href="__nv_atanh.html#__nv_atanh">3.14. __nv_atanh</a></div> </li> <li> <div class="section-link"><a href="__nv_atanhf.html#__nv_atanhf">3.15. __nv_atanhf</a></div> </li> <li> <div class="section-link"><a href="__nv_brev.html#__nv_brev">3.16. __nv_brev</a></div> </li> <li> <div class="section-link"><a href="__nv_brevll.html#__nv_brevll">3.17. __nv_brevll</a></div> </li> <li> <div class="section-link"><a href="__nv_byte_perm.html#__nv_byte_perm">3.18. __nv_byte_perm</a></div> </li> <li> <div class="section-link"><a href="__nv_cbrt.html#__nv_cbrt">3.19. __nv_cbrt</a></div> </li> <li> <div class="section-link"><a href="__nv_cbrtf.html#__nv_cbrtf">3.20. __nv_cbrtf</a></div> </li> <li> <div class="section-link"><a href="__nv_ceil.html#__nv_ceil">3.21. __nv_ceil</a></div> </li> <li> <div class="section-link"><a href="__nv_ceilf.html#__nv_ceilf">3.22. __nv_ceilf</a></div> </li> <li> <div class="section-link"><a href="__nv_clz.html#__nv_clz">3.23. __nv_clz</a></div> </li> <li> <div class="section-link"><a href="__nv_clzll.html#__nv_clzll">3.24. __nv_clzll</a></div> </li> <li> <div class="section-link"><a href="__nv_copysign.html#__nv_copysign">3.25. __nv_copysign</a></div> </li> <li> <div class="section-link"><a href="__nv_copysignf.html#__nv_copysignf">3.26. __nv_copysignf</a></div> </li> <li> <div class="section-link"><a href="__nv_cos.html#__nv_cos">3.27. __nv_cos</a></div> </li> <li> <div class="section-link"><a href="__nv_cosf.html#__nv_cosf">3.28. __nv_cosf</a></div> </li> <li> <div class="section-link"><a href="__nv_cosh.html#__nv_cosh">3.29. __nv_cosh</a></div> </li> <li> <div class="section-link"><a href="__nv_coshf.html#__nv_coshf">3.30. __nv_coshf</a></div> </li> <li> <div class="section-link"><a href="__nv_cospi.html#__nv_cospi">3.31. __nv_cospi</a></div> </li> <li> <div class="section-link"><a href="__nv_cospif.html#__nv_cospif">3.32. __nv_cospif</a></div> </li> <li> <div class="section-link"><a href="__nv_dadd_rd.html#__nv_dadd_rd">3.33. __nv_dadd_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_dadd_rn.html#__nv_dadd_rn">3.34. __nv_dadd_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_dadd_ru.html#__nv_dadd_ru">3.35. __nv_dadd_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_dadd_rz.html#__nv_dadd_rz">3.36. __nv_dadd_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ddiv_rd.html#__nv_ddiv_rd">3.37. __nv_ddiv_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_ddiv_rn.html#__nv_ddiv_rn">3.38. __nv_ddiv_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_ddiv_ru.html#__nv_ddiv_ru">3.39. __nv_ddiv_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_ddiv_rz.html#__nv_ddiv_rz">3.40. __nv_ddiv_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_dmul_rd.html#__nv_dmul_rd">3.41. __nv_dmul_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_dmul_rn.html#__nv_dmul_rn">3.42. __nv_dmul_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_dmul_ru.html#__nv_dmul_ru">3.43. __nv_dmul_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_dmul_rz.html#__nv_dmul_rz">3.44. __nv_dmul_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double2float_rd.html#__nv_double2float_rd">3.45. __nv_double2float_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_double2float_rn.html#__nv_double2float_rn">3.46. __nv_double2float_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_double2float_ru.html#__nv_double2float_ru">3.47. __nv_double2float_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_double2float_rz.html#__nv_double2float_rz">3.48. __nv_double2float_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double2hiint.html#__nv_double2hiint">3.49. __nv_double2hiint</a></div> </li> <li> <div class="section-link"><a href="__nv_double2int_rd.html#__nv_double2int_rd">3.50. __nv_double2int_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_double2int_rn.html#__nv_double2int_rn">3.51. __nv_double2int_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_double2int_ru.html#__nv_double2int_ru">3.52. __nv_double2int_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_double2int_rz.html#__nv_double2int_rz">3.53. __nv_double2int_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ll_rd.html#__nv_double2ll_rd">3.54. __nv_double2ll_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ll_rn.html#__nv_double2ll_rn">3.55. __nv_double2ll_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ll_ru.html#__nv_double2ll_ru">3.56. __nv_double2ll_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ll_rz.html#__nv_double2ll_rz">3.57. __nv_double2ll_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double2loint.html#__nv_double2loint">3.58. __nv_double2loint</a></div> </li> <li> <div class="section-link"><a href="__nv_double2uint_rd.html#__nv_double2uint_rd">3.59. __nv_double2uint_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_double2uint_rn.html#__nv_double2uint_rn">3.60. __nv_double2uint_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_double2uint_ru.html#__nv_double2uint_ru">3.61. __nv_double2uint_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_double2uint_rz.html#__nv_double2uint_rz">3.62. __nv_double2uint_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ull_rd.html#__nv_double2ull_rd">3.63. __nv_double2ull_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ull_rn.html#__nv_double2ull_rn">3.64. __nv_double2ull_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ull_ru.html#__nv_double2ull_ru">3.65. __nv_double2ull_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_double2ull_rz.html#__nv_double2ull_rz">3.66. __nv_double2ull_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_double_as_longlong.html#__nv_double_as_longlong">3.67. __nv_double_as_longlong</a></div> </li> <li> <div class="section-link"><a href="__nv_drcp_rd.html#__nv_drcp_rd">3.68. __nv_drcp_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_drcp_rn.html#__nv_drcp_rn">3.69. __nv_drcp_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_drcp_ru.html#__nv_drcp_ru">3.70. __nv_drcp_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_drcp_rz.html#__nv_drcp_rz">3.71. __nv_drcp_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_dsqrt_rd.html#__nv_dsqrt_rd">3.72. __nv_dsqrt_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_dsqrt_rn.html#__nv_dsqrt_rn">3.73. __nv_dsqrt_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_dsqrt_ru.html#__nv_dsqrt_ru">3.74. __nv_dsqrt_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_dsqrt_rz.html#__nv_dsqrt_rz">3.75. __nv_dsqrt_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_erf.html#__nv_erf">3.76. __nv_erf</a></div> </li> <li> <div class="section-link"><a href="__nv_erfc.html#__nv_erfc">3.77. __nv_erfc</a></div> </li> <li> <div class="section-link"><a href="__nv_erfcf.html#__nv_erfcf">3.78. __nv_erfcf</a></div> </li> <li> <div class="section-link"><a href="__nv_erfcinv.html#__nv_erfcinv">3.79. __nv_erfcinv</a></div> </li> <li> <div class="section-link"><a href="__nv_erfcinvf.html#__nv_erfcinvf">3.80. __nv_erfcinvf</a></div> </li> <li> <div class="section-link"><a href="__nv_erfcx.html#__nv_erfcx">3.81. __nv_erfcx</a></div> </li> <li> <div class="section-link"><a href="__nv_erfcxf.html#__nv_erfcxf">3.82. __nv_erfcxf</a></div> </li> <li> <div class="section-link"><a href="__nv_erff.html#__nv_erff">3.83. __nv_erff</a></div> </li> <li> <div class="section-link"><a href="__nv_erfinv.html#__nv_erfinv">3.84. __nv_erfinv</a></div> </li> <li> <div class="section-link"><a href="__nv_erfinvf.html#__nv_erfinvf">3.85. __nv_erfinvf</a></div> </li> <li> <div class="section-link"><a href="__nv_exp.html#__nv_exp">3.86. __nv_exp</a></div> </li> <li> <div class="section-link"><a href="__nv_exp10.html#__nv_exp10">3.87. __nv_exp10</a></div> </li> <li> <div class="section-link"><a href="__nv_exp10f.html#__nv_exp10f">3.88. __nv_exp10f</a></div> </li> <li> <div class="section-link"><a href="__nv_exp2.html#__nv_exp2">3.89. __nv_exp2</a></div> </li> <li> <div class="section-link"><a href="__nv_exp2f.html#__nv_exp2f">3.90. __nv_exp2f</a></div> </li> <li> <div class="section-link"><a href="__nv_expf.html#__nv_expf">3.91. __nv_expf</a></div> </li> <li> <div class="section-link"><a href="__nv_expm1.html#__nv_expm1">3.92. __nv_expm1</a></div> </li> <li> <div class="section-link"><a href="__nv_expm1f.html#__nv_expm1f">3.93. __nv_expm1f</a></div> </li> <li> <div class="section-link"><a href="__nv_fabs.html#__nv_fabs">3.94. __nv_fabs</a></div> </li> <li> <div class="section-link"><a href="__nv_fabsf.html#__nv_fabsf">3.95. __nv_fabsf</a></div> </li> <li> <div class="section-link"><a href="__nv_fadd_rd.html#__nv_fadd_rd">3.96. __nv_fadd_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fadd_rn.html#__nv_fadd_rn">3.97. __nv_fadd_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fadd_ru.html#__nv_fadd_ru">3.98. __nv_fadd_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fadd_rz.html#__nv_fadd_rz">3.99. __nv_fadd_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_cosf.html#__nv_fast_cosf">3.100. __nv_fast_cosf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_exp10f.html#__nv_fast_exp10f">3.101. __nv_fast_exp10f</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_expf.html#__nv_fast_expf">3.102. __nv_fast_expf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_fdividef.html#__nv_fast_fdividef">3.103. __nv_fast_fdividef</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_log10f.html#__nv_fast_log10f">3.104. __nv_fast_log10f</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_log2f.html#__nv_fast_log2f">3.105. __nv_fast_log2f</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_logf.html#__nv_fast_logf">3.106. __nv_fast_logf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_powf.html#__nv_fast_powf">3.107. __nv_fast_powf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_sincosf.html#__nv_fast_sincosf">3.108. __nv_fast_sincosf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_sinf.html#__nv_fast_sinf">3.109. __nv_fast_sinf</a></div> </li> <li> <div class="section-link"><a href="__nv_fast_tanf.html#__nv_fast_tanf">3.110. __nv_fast_tanf</a></div> </li> <li> <div class="section-link"><a href="__nv_fdim.html#__nv_fdim">3.111. __nv_fdim</a></div> </li> <li> <div class="section-link"><a href="__nv_fdimf.html#__nv_fdimf">3.112. __nv_fdimf</a></div> </li> <li> <div class="section-link"><a href="__nv_fdiv_rd.html#__nv_fdiv_rd">3.113. __nv_fdiv_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fdiv_rn.html#__nv_fdiv_rn">3.114. __nv_fdiv_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fdiv_ru.html#__nv_fdiv_ru">3.115. __nv_fdiv_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fdiv_rz.html#__nv_fdiv_rz">3.116. __nv_fdiv_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ffs.html#__nv_ffs">3.117. __nv_ffs</a></div> </li> <li> <div class="section-link"><a href="__nv_ffsll.html#__nv_ffsll">3.118. __nv_ffsll</a></div> </li> <li> <div class="section-link"><a href="__nv_finitef.html#__nv_finitef">3.119. __nv_finitef</a></div> </li> <li> <div class="section-link"><a href="__nv_float2half_rn.html#__nv_float2half_rn">3.120. __nv_float2half_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_float2int_rd.html#__nv_float2int_rd">3.121. __nv_float2int_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_float2int_rn.html#__nv_float2int_rn">3.122. __nv_float2int_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_float2int_ru.html#__nv_float2int_ru">3.123. __nv_float2int_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_float2int_rz.html#__nv_float2int_rz">3.124. __nv_float2int_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ll_rd.html#__nv_float2ll_rd">3.125. __nv_float2ll_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ll_rn.html#__nv_float2ll_rn">3.126. __nv_float2ll_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ll_ru.html#__nv_float2ll_ru">3.127. __nv_float2ll_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ll_rz.html#__nv_float2ll_rz">3.128. __nv_float2ll_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_float2uint_rd.html#__nv_float2uint_rd">3.129. __nv_float2uint_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_float2uint_rn.html#__nv_float2uint_rn">3.130. __nv_float2uint_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_float2uint_ru.html#__nv_float2uint_ru">3.131. __nv_float2uint_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_float2uint_rz.html#__nv_float2uint_rz">3.132. __nv_float2uint_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ull_rd.html#__nv_float2ull_rd">3.133. __nv_float2ull_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ull_rn.html#__nv_float2ull_rn">3.134. __nv_float2ull_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ull_ru.html#__nv_float2ull_ru">3.135. __nv_float2ull_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_float2ull_rz.html#__nv_float2ull_rz">3.136. __nv_float2ull_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_float_as_int.html#__nv_float_as_int">3.137. __nv_float_as_int</a></div> </li> <li> <div class="section-link"><a href="__nv_floor.html#__nv_floor">3.138. __nv_floor</a></div> </li> <li> <div class="section-link"><a href="__nv_floorf.html#__nv_floorf">3.139. __nv_floorf</a></div> </li> <li> <div class="section-link"><a href="__nv_fma.html#__nv_fma">3.140. __nv_fma</a></div> </li> <li> <div class="section-link"><a href="__nv_fma_rd.html#__nv_fma_rd">3.141. __nv_fma_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fma_rn.html#__nv_fma_rn">3.142. __nv_fma_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fma_ru.html#__nv_fma_ru">3.143. __nv_fma_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fma_rz.html#__nv_fma_rz">3.144. __nv_fma_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaf.html#__nv_fmaf">3.145. __nv_fmaf</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaf_rd.html#__nv_fmaf_rd">3.146. __nv_fmaf_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaf_rn.html#__nv_fmaf_rn">3.147. __nv_fmaf_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaf_ru.html#__nv_fmaf_ru">3.148. __nv_fmaf_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaf_rz.html#__nv_fmaf_rz">3.149. __nv_fmaf_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_fmax.html#__nv_fmax">3.150. __nv_fmax</a></div> </li> <li> <div class="section-link"><a href="__nv_fmaxf.html#__nv_fmaxf">3.151. __nv_fmaxf</a></div> </li> <li> <div class="section-link"><a href="__nv_fmin.html#__nv_fmin">3.152. __nv_fmin</a></div> </li> <li> <div class="section-link"><a href="__nv_fminf.html#__nv_fminf">3.153. __nv_fminf</a></div> </li> <li> <div class="section-link"><a href="__nv_fmod.html#__nv_fmod">3.154. __nv_fmod</a></div> </li> <li> <div class="section-link"><a href="__nv_fmodf.html#__nv_fmodf">3.155. __nv_fmodf</a></div> </li> <li> <div class="section-link"><a href="__nv_fmul_rd.html#__nv_fmul_rd">3.156. __nv_fmul_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fmul_rn.html#__nv_fmul_rn">3.157. __nv_fmul_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fmul_ru.html#__nv_fmul_ru">3.158. __nv_fmul_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fmul_rz.html#__nv_fmul_rz">3.159. __nv_fmul_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_frcp_rd.html#__nv_frcp_rd">3.160. __nv_frcp_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_frcp_rn.html#__nv_frcp_rn">3.161. __nv_frcp_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_frcp_ru.html#__nv_frcp_ru">3.162. __nv_frcp_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_frcp_rz.html#__nv_frcp_rz">3.163. __nv_frcp_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_frexp.html#__nv_frexp">3.164. __nv_frexp</a></div> </li> <li> <div class="section-link"><a href="__nv_frexpf.html#__nv_frexpf">3.165. __nv_frexpf</a></div> </li> <li> <div class="section-link"><a href="__nv_frsqrt_rn.html#__nv_frsqrt_rn">3.166. __nv_frsqrt_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fsqrt_rd.html#__nv_fsqrt_rd">3.167. __nv_fsqrt_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fsqrt_rn.html#__nv_fsqrt_rn">3.168. __nv_fsqrt_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fsqrt_ru.html#__nv_fsqrt_ru">3.169. __nv_fsqrt_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fsqrt_rz.html#__nv_fsqrt_rz">3.170. __nv_fsqrt_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_fsub_rd.html#__nv_fsub_rd">3.171. __nv_fsub_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_fsub_rn.html#__nv_fsub_rn">3.172. __nv_fsub_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_fsub_ru.html#__nv_fsub_ru">3.173. __nv_fsub_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_fsub_rz.html#__nv_fsub_rz">3.174. __nv_fsub_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_hadd.html#__nv_hadd">3.175. __nv_hadd</a></div> </li> <li> <div class="section-link"><a href="__nv_half2float.html#__nv_half2float">3.176. __nv_half2float</a></div> </li> <li> <div class="section-link"><a href="__nv_hiloint2double.html#__nv_hiloint2double">3.177. __nv_hiloint2double</a></div> </li> <li> <div class="section-link"><a href="__nv_hypot.html#__nv_hypot">3.178. __nv_hypot</a></div> </li> <li> <div class="section-link"><a href="__nv_hypotf.html#__nv_hypotf">3.179. __nv_hypotf</a></div> </li> <li> <div class="section-link"><a href="__nv_ilogb.html#__nv_ilogb">3.180. __nv_ilogb</a></div> </li> <li> <div class="section-link"><a href="__nv_ilogbf.html#__nv_ilogbf">3.181. __nv_ilogbf</a></div> </li> <li> <div class="section-link"><a href="__nv_int2double_rn.html#__nv_int2double_rn">3.182. __nv_int2double_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_int2float_rd.html#__nv_int2float_rd">3.183. __nv_int2float_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_int2float_rn.html#__nv_int2float_rn">3.184. __nv_int2float_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_int2float_ru.html#__nv_int2float_ru">3.185. __nv_int2float_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_int2float_rz.html#__nv_int2float_rz">3.186. __nv_int2float_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_int_as_float.html#__nv_int_as_float">3.187. __nv_int_as_float</a></div> </li> <li> <div class="section-link"><a href="__nv_isfinited.html#__nv_isfinited">3.188. __nv_isfinited</a></div> </li> <li> <div class="section-link"><a href="__nv_isinfd.html#__nv_isinfd">3.189. __nv_isinfd</a></div> </li> <li> <div class="section-link"><a href="__nv_isinff.html#__nv_isinff">3.190. __nv_isinff</a></div> </li> <li> <div class="section-link"><a href="__nv_isnand.html#__nv_isnand">3.191. __nv_isnand</a></div> </li> <li> <div class="section-link"><a href="__nv_isnanf.html#__nv_isnanf">3.192. __nv_isnanf</a></div> </li> <li> <div class="section-link"><a href="__nv_j0.html#__nv_j0">3.193. __nv_j0</a></div> </li> <li> <div class="section-link"><a href="__nv_j0f.html#__nv_j0f">3.194. __nv_j0f</a></div> </li> <li> <div class="section-link"><a href="__nv_j1.html#__nv_j1">3.195. __nv_j1</a></div> </li> <li> <div class="section-link"><a href="__nv_j1f.html#__nv_j1f">3.196. __nv_j1f</a></div> </li> <li> <div class="section-link"><a href="__nv_jn.html#__nv_jn">3.197. __nv_jn</a></div> </li> <li> <div class="section-link"><a href="__nv_jnf.html#__nv_jnf">3.198. __nv_jnf</a></div> </li> <li> <div class="section-link"><a href="__nv_ldexp.html#__nv_ldexp">3.199. __nv_ldexp</a></div> </li> <li> <div class="section-link"><a href="__nv_ldexpf.html#__nv_ldexpf">3.200. __nv_ldexpf</a></div> </li> <li> <div class="section-link"><a href="__nv_lgamma.html#__nv_lgamma">3.201. __nv_lgamma</a></div> </li> <li> <div class="section-link"><a href="__nv_lgammaf.html#__nv_lgammaf">3.202. __nv_lgammaf</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2double_rd.html#__nv_ll2double_rd">3.203. __nv_ll2double_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2double_rn.html#__nv_ll2double_rn">3.204. __nv_ll2double_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2double_ru.html#__nv_ll2double_ru">3.205. __nv_ll2double_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2double_rz.html#__nv_ll2double_rz">3.206. __nv_ll2double_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2float_rd.html#__nv_ll2float_rd">3.207. __nv_ll2float_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2float_rn.html#__nv_ll2float_rn">3.208. __nv_ll2float_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2float_ru.html#__nv_ll2float_ru">3.209. __nv_ll2float_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_ll2float_rz.html#__nv_ll2float_rz">3.210. __nv_ll2float_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_llabs.html#__nv_llabs">3.211. __nv_llabs</a></div> </li> <li> <div class="section-link"><a href="__nv_llmax.html#__nv_llmax">3.212. __nv_llmax</a></div> </li> <li> <div class="section-link"><a href="__nv_llmin.html#__nv_llmin">3.213. __nv_llmin</a></div> </li> <li> <div class="section-link"><a href="__nv_llrint.html#__nv_llrint">3.214. __nv_llrint</a></div> </li> <li> <div class="section-link"><a href="__nv_llrintf.html#__nv_llrintf">3.215. __nv_llrintf</a></div> </li> <li> <div class="section-link"><a href="__nv_llround.html#__nv_llround">3.216. __nv_llround</a></div> </li> <li> <div class="section-link"><a href="__nv_llroundf.html#__nv_llroundf">3.217. __nv_llroundf</a></div> </li> <li> <div class="section-link"><a href="__nv_log.html#__nv_log">3.218. __nv_log</a></div> </li> <li> <div class="section-link"><a href="__nv_log10.html#__nv_log10">3.219. __nv_log10</a></div> </li> <li> <div class="section-link"><a href="__nv_log10f.html#__nv_log10f">3.220. __nv_log10f</a></div> </li> <li> <div class="section-link"><a href="__nv_log1p.html#__nv_log1p">3.221. __nv_log1p</a></div> </li> <li> <div class="section-link"><a href="__nv_log1pf.html#__nv_log1pf">3.222. __nv_log1pf</a></div> </li> <li> <div class="section-link"><a href="__nv_log2.html#__nv_log2">3.223. __nv_log2</a></div> </li> <li> <div class="section-link"><a href="__nv_log2f.html#__nv_log2f">3.224. __nv_log2f</a></div> </li> <li> <div class="section-link"><a href="__nv_logb.html#__nv_logb">3.225. __nv_logb</a></div> </li> <li> <div class="section-link"><a href="__nv_logbf.html#__nv_logbf">3.226. __nv_logbf</a></div> </li> <li> <div class="section-link"><a href="__nv_logf.html#__nv_logf">3.227. __nv_logf</a></div> </li> <li> <div class="section-link"><a href="__nv_longlong_as_double.html#__nv_longlong_as_double">3.228. __nv_longlong_as_double</a></div> </li> <li> <div class="section-link"><a href="__nv_max.html#__nv_max">3.229. __nv_max</a></div> </li> <li> <div class="section-link"><a href="__nv_min.html#__nv_min">3.230. __nv_min</a></div> </li> <li> <div class="section-link"><a href="__nv_modf.html#__nv_modf">3.231. __nv_modf</a></div> </li> <li> <div class="section-link"><a href="__nv_modff.html#__nv_modff">3.232. __nv_modff</a></div> </li> <li> <div class="section-link"><a href="__nv_mul24.html#__nv_mul24">3.233. __nv_mul24</a></div> </li> <li> <div class="section-link"><a href="__nv_mul64hi.html#__nv_mul64hi">3.234. __nv_mul64hi</a></div> </li> <li> <div class="section-link"><a href="__nv_mulhi.html#__nv_mulhi">3.235. __nv_mulhi</a></div> </li> <li> <div class="section-link"><a href="__nv_nan.html#__nv_nan">3.236. __nv_nan</a></div> </li> <li> <div class="section-link"><a href="__nv_nanf.html#__nv_nanf">3.237. __nv_nanf</a></div> </li> <li> <div class="section-link"><a href="__nv_nearbyint.html#__nv_nearbyint">3.238. __nv_nearbyint</a></div> </li> <li> <div class="section-link"><a href="__nv_nearbyintf.html#__nv_nearbyintf">3.239. __nv_nearbyintf</a></div> </li> <li> <div class="section-link"><a href="__nv_nextafter.html#__nv_nextafter">3.240. __nv_nextafter</a></div> </li> <li> <div class="section-link"><a href="__nv_nextafterf.html#__nv_nextafterf">3.241. __nv_nextafterf</a></div> </li> <li> <div class="section-link"><a href="__nv_normcdf.html#__nv_normcdf">3.242. __nv_normcdf</a></div> </li> <li> <div class="section-link"><a href="__nv_normcdff.html#__nv_normcdff">3.243. __nv_normcdff</a></div> </li> <li> <div class="section-link"><a href="__nv_normcdfinv.html#__nv_normcdfinv">3.244. __nv_normcdfinv</a></div> </li> <li> <div class="section-link"><a href="__nv_normcdfinvf.html#__nv_normcdfinvf">3.245. __nv_normcdfinvf</a></div> </li> <li> <div class="section-link"><a href="__nv_popc.html#__nv_popc">3.246. __nv_popc</a></div> </li> <li> <div class="section-link"><a href="__nv_popcll.html#__nv_popcll">3.247. __nv_popcll</a></div> </li> <li> <div class="section-link"><a href="__nv_pow.html#__nv_pow">3.248. __nv_pow</a></div> </li> <li> <div class="section-link"><a href="__nv_powf.html#__nv_powf">3.249. __nv_powf</a></div> </li> <li> <div class="section-link"><a href="__nv_powi.html#__nv_powi">3.250. __nv_powi</a></div> </li> <li> <div class="section-link"><a href="__nv_powif.html#__nv_powif">3.251. __nv_powif</a></div> </li> <li> <div class="section-link"><a href="__nv_rcbrt.html#__nv_rcbrt">3.252. __nv_rcbrt</a></div> </li> <li> <div class="section-link"><a href="__nv_rcbrtf.html#__nv_rcbrtf">3.253. __nv_rcbrtf</a></div> </li> <li> <div class="section-link"><a href="__nv_remainder.html#__nv_remainder">3.254. __nv_remainder</a></div> </li> <li> <div class="section-link"><a href="__nv_remainderf.html#__nv_remainderf">3.255. __nv_remainderf</a></div> </li> <li> <div class="section-link"><a href="__nv_remquo.html#__nv_remquo">3.256. __nv_remquo</a></div> </li> <li> <div class="section-link"><a href="__nv_remquof.html#__nv_remquof">3.257. __nv_remquof</a></div> </li> <li> <div class="section-link"><a href="__nv_rhadd.html#__nv_rhadd">3.258. __nv_rhadd</a></div> </li> <li> <div class="section-link"><a href="__nv_rint.html#__nv_rint">3.259. __nv_rint</a></div> </li> <li> <div class="section-link"><a href="__nv_rintf.html#__nv_rintf">3.260. __nv_rintf</a></div> </li> <li> <div class="section-link"><a href="__nv_round.html#__nv_round">3.261. __nv_round</a></div> </li> <li> <div class="section-link"><a href="__nv_roundf.html#__nv_roundf">3.262. __nv_roundf</a></div> </li> <li> <div class="section-link"><a href="__nv_rsqrt.html#__nv_rsqrt">3.263. __nv_rsqrt</a></div> </li> <li> <div class="section-link"><a href="__nv_rsqrtf.html#__nv_rsqrtf">3.264. __nv_rsqrtf</a></div> </li> <li> <div class="section-link"><a href="__nv_sad.html#__nv_sad">3.265. __nv_sad</a></div> </li> <li> <div class="section-link"><a href="__nv_saturatef.html#__nv_saturatef">3.266. __nv_saturatef</a></div> </li> <li> <div class="section-link"><a href="__nv_scalbn.html#__nv_scalbn">3.267. __nv_scalbn</a></div> </li> <li> <div class="section-link"><a href="__nv_scalbnf.html#__nv_scalbnf">3.268. __nv_scalbnf</a></div> </li> <li> <div class="section-link"><a href="__nv_signbitd.html#__nv_signbitd">3.269. __nv_signbitd</a></div> </li> <li> <div class="section-link"><a href="__nv_signbitf.html#__nv_signbitf">3.270. __nv_signbitf</a></div> </li> <li> <div class="section-link"><a href="__nv_sin.html#__nv_sin">3.271. __nv_sin</a></div> </li> <li> <div class="section-link"><a href="__nv_sincos.html#__nv_sincos">3.272. __nv_sincos</a></div> </li> <li> <div class="section-link"><a href="__nv_sincosf.html#__nv_sincosf">3.273. __nv_sincosf</a></div> </li> <li> <div class="section-link"><a href="__nv_sincospi.html#__nv_sincospi">3.274. __nv_sincospi</a></div> </li> <li> <div class="section-link"><a href="__nv_sincospif.html#__nv_sincospif">3.275. __nv_sincospif</a></div> </li> <li> <div class="section-link"><a href="__nv_sinf.html#__nv_sinf">3.276. __nv_sinf</a></div> </li> <li> <div class="section-link"><a href="__nv_sinh.html#__nv_sinh">3.277. __nv_sinh</a></div> </li> <li> <div class="section-link"><a href="__nv_sinhf.html#__nv_sinhf">3.278. __nv_sinhf</a></div> </li> <li> <div class="section-link"><a href="__nv_sinpi.html#__nv_sinpi">3.279. __nv_sinpi</a></div> </li> <li> <div class="section-link"><a href="__nv_sinpif.html#__nv_sinpif">3.280. __nv_sinpif</a></div> </li> <li> <div class="section-link"><a href="__nv_sqrt.html#__nv_sqrt">3.281. __nv_sqrt</a></div> </li> <li> <div class="section-link"><a href="__nv_sqrtf.html#__nv_sqrtf">3.282. __nv_sqrtf</a></div> </li> <li> <div class="section-link"><a href="__nv_tan.html#__nv_tan">3.283. __nv_tan</a></div> </li> <li> <div class="section-link"><a href="__nv_tanf.html#__nv_tanf">3.284. __nv_tanf</a></div> </li> <li> <div class="section-link"><a href="__nv_tanh.html#__nv_tanh">3.285. __nv_tanh</a></div> </li> <li> <div class="section-link"><a href="__nv_tanhf.html#__nv_tanhf">3.286. __nv_tanhf</a></div> </li> <li> <div class="section-link"><a href="__nv_tgamma.html#__nv_tgamma">3.287. __nv_tgamma</a></div> </li> <li> <div class="section-link"><a href="__nv_tgammaf.html#__nv_tgammaf">3.288. __nv_tgammaf</a></div> </li> <li> <div class="section-link"><a href="__nv_trunc.html#__nv_trunc">3.289. __nv_trunc</a></div> </li> <li> <div class="section-link"><a href="__nv_truncf.html#__nv_truncf">3.290. __nv_truncf</a></div> </li> <li> <div class="section-link"><a href="__nv_uhadd.html#__nv_uhadd">3.291. __nv_uhadd</a></div> </li> <li> <div class="section-link"><a href="__nv_uint2double_rn.html#__nv_uint2double_rn">3.292. __nv_uint2double_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_uint2float_rd.html#__nv_uint2float_rd">3.293. __nv_uint2float_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_uint2float_rn.html#__nv_uint2float_rn">3.294. __nv_uint2float_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_uint2float_ru.html#__nv_uint2float_ru">3.295. __nv_uint2float_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_uint2float_rz.html#__nv_uint2float_rz">3.296. __nv_uint2float_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2double_rd.html#__nv_ull2double_rd">3.297. __nv_ull2double_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2double_rn.html#__nv_ull2double_rn">3.298. __nv_ull2double_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2double_ru.html#__nv_ull2double_ru">3.299. __nv_ull2double_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2double_rz.html#__nv_ull2double_rz">3.300. __nv_ull2double_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2float_rd.html#__nv_ull2float_rd">3.301. __nv_ull2float_rd</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2float_rn.html#__nv_ull2float_rn">3.302. __nv_ull2float_rn</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2float_ru.html#__nv_ull2float_ru">3.303. __nv_ull2float_ru</a></div> </li> <li> <div class="section-link"><a href="__nv_ull2float_rz.html#__nv_ull2float_rz">3.304. __nv_ull2float_rz</a></div> </li> <li> <div class="section-link"><a href="__nv_ullmax.html#__nv_ullmax">3.305. __nv_ullmax</a></div> </li> <li> <div class="section-link"><a href="__nv_ullmin.html#__nv_ullmin">3.306. __nv_ullmin</a></div> </li> <li> <div class="section-link"><a href="__nv_umax.html#__nv_umax">3.307. __nv_umax</a></div> </li> <li> <div class="section-link"><a href="__nv_umin.html#__nv_umin">3.308. __nv_umin</a></div> </li> <li> <div class="section-link"><a href="__nv_umul24.html#__nv_umul24">3.309. __nv_umul24</a></div> </li> <li> <div class="section-link"><a href="__nv_umul64hi.html#__nv_umul64hi">3.310. __nv_umul64hi</a></div> </li> <li> <div class="section-link"><a href="__nv_umulhi.html#__nv_umulhi">3.311. __nv_umulhi</a></div> </li> <li> <div class="section-link"><a href="__nv_urhadd.html#__nv_urhadd">3.312. __nv_urhadd</a></div> </li> <li> <div class="section-link"><a href="__nv_usad.html#__nv_usad">3.313. __nv_usad</a></div> </li> <li> <div class="section-link"><a href="__nv_y0.html#__nv_y0">3.314. __nv_y0</a></div> </li> <li> <div class="section-link"><a href="__nv_y0f.html#__nv_y0f">3.315. __nv_y0f</a></div> </li> <li> <div class="section-link"><a href="__nv_y1.html#__nv_y1">3.316. __nv_y1</a></div> </li> <li> <div class="section-link"><a href="__nv_y1f.html#__nv_y1f">3.317. __nv_y1f</a></div> </li> <li> <div class="section-link"><a href="__nv_yn.html#__nv_yn">3.318. __nv_yn</a></div> </li> <li> <div class="section-link"><a href="__nv_ynf.html#__nv_ynf">3.319. __nv_ynf</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="introduction.html" shape="rect">< Previous</a> | <a href="function-desc.html" shape="rect">Next ></a></div> <div id="release-info">libdevice User's Guide (<a href="../../pdf/libdevice-users-guide.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: libdevice User's Guide">Send Feedback</a></div> </div> <article id="contents"> <div class="topic nested1" id="basic-usage"><a name="basic-usage" shape="rect"> <!-- --></a><h2 class="topictitle2">2. Basic Usage</h2> <div class="body conbody"></div> <div class="topic concept nested1" id="linking-with-libdevice"><a name="linking-with-libdevice" shape="rect"> <!-- --></a><h3 class="topictitle3">2.1. Linking with libdevice</h3> <div class="body conbody"> <p class="p">The libdevice library ships as an LLVM bitcode library and is meant to be linked with the target module early in the compilation process. The standard process for linking with libdevice is to first link it with the target module, then run the standard LLVM optimization and code generation passes. This allows the optimizers to inline and perform analyses on the used library functions, and eliminate any used functions as dead code. </p> <p class="p">Users of libnvvm can link with libdevice by adding the appropriate libdevice module to the <tt class="ph tt">nvvmProgram</tt> object being compiled. In addition, the following options for <tt class="ph tt">nvvmCompileProgram</tt> affect the behavior of libdevice functions: </p> <div class="tablenoborder"><a name="linking-with-libdevice__libnvvm-params" shape="rect"> <!-- --></a><table cellpadding="4" cellspacing="0" summary="" id="linking-with-libdevice__libnvvm-params" class="table" frame="border" border="1" rules="all"> <caption><span class="tablecap">Table 1. Supported Reflection Parameters</span></caption> <thead class="thead" align="left"> <tr class="row"> <th class="entry" align="center" valign="top" width="18.181818181818183%" id="d90610e49" rowspan="1" colspan="1">Parameter</th> <th class="entry" align="center" valign="top" width="9.090909090909092%" id="d90610e52" rowspan="1" colspan="1">Values</th> <th class="entry" align="center" valign="top" width="72.72727272727273%" id="d90610e55" rowspan="1" colspan="1">Description</th> </tr> </thead> <tbody class="tbody"> <tr class="row"> <td class="entry" rowspan="2" align="center" valign="middle" width="18.181818181818183%" headers="d90610e49" colspan="1"><tt class="ph tt">-ftz</tt></td> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">0</tt> (default) </td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">preserve denormal values, when performing single-precision floating-point operations</td> </tr> <tr class="row"> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">1</tt></td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">flush denormal values to zero, when performing single-precision floating-point operations</td> </tr> <tr class="row"> <td class="entry" rowspan="2" align="center" valign="middle" width="18.181818181818183%" headers="d90610e49" colspan="1"><tt class="ph tt">-prec-div</tt></td> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">0</tt></td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">use a faster approximation for single-precision floating-point division and reciprocals</td> </tr> <tr class="row"> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">1</tt> (default) </td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">use IEEE round-to-nearest mode for single-precision floating-point division and reciprocals</td> </tr> <tr class="row"> <td class="entry" rowspan="2" align="center" valign="middle" width="18.181818181818183%" headers="d90610e49" colspan="1"><tt class="ph tt">-prec-sqrt</tt></td> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">0</tt></td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">use IEEE round-to-nearest mode for single-precision floating-point square root</td> </tr> <tr class="row"> <td class="entry" align="center" valign="middle" width="9.090909090909092%" headers="d90610e52" rowspan="1" colspan="1"><tt class="ph tt">1</tt> (default) </td> <td class="entry" align="center" valign="middle" width="72.72727272727273%" headers="d90610e55" rowspan="1" colspan="1">use a faster approximation for single-precision floating-point square root</td> </tr> </tbody> </table> </div> <p class="p">The following pseudo-code shows an example of linking an NVVM IR module with the libdevice library using libnvvm: </p><pre xml:space="preserve">nvvmProgram prog; size_t libdeviceModSize; const char *libdeviceMod = loadFile('/path/to/libdevice.*.bc', &libdeviceModSize); const char *myIr = /* NVVM IR in text or binary format */; size_t myIrSize = /* size of myIr in bytes */; // Create NVVM program object nvvmCreateProgram(&prog); // Add libdevice module to program nvvmAddModuleToProgram(prog, libdeviceMod, libdeviceModSize); // Add custom IR to program nvvmAddModuleToProgram(prog, myIr, myIrSize); // Declare compile options const char *options[] = { "-ftz=1" }; // Compile the program nvvmCompileProgram(prog, 1, options); </pre><p class="p">It is the responsibility of the client program to locate and read the libdevice library binary (represented by the <tt class="ph tt">loadFile</tt> function in the example). </p> </div> </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>