blob: c1bf7fb13aa05a245d358c3b620c4ed301e77a05 [file] [log] [blame]
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mxnet: Dnnl_api_service</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">mxnet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Dnnl_api_service<div class="ingroups"><a class="el" href="group__dnnl__api.html">Dnnl_api</a></div></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Dnnl_api_service:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__dnnl__api__service.png" border="0" alt="" usemap="#group____dnnl____api____service"/>
<map name="group____dnnl____api____service" id="group____dnnl____api____service">
<area shape="rect" id="node1" href="group__dnnl__api.html" title="Dnnl_api" alt="" coords="5,5,84,32"/>
</map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdnnl__version__t.html">dnnl_version_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga64c87a04eba7774b2157dc6ce95d5992"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga64c87a04eba7774b2157dc6ce95d5992">DNNL_RUNTIME_NONE</a>&#160;&#160;&#160;0u</td></tr>
<tr class="memdesc:ga64c87a04eba7774b2157dc6ce95d5992"><td class="mdescLeft">&#160;</td><td class="mdescRight">No runtime (disabled) <a href="#ga64c87a04eba7774b2157dc6ce95d5992">More...</a><br /></td></tr>
<tr class="separator:ga64c87a04eba7774b2157dc6ce95d5992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01fabb77bdc210ee4934de063f22d553"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga01fabb77bdc210ee4934de063f22d553">DNNL_RUNTIME_SEQ</a>&#160;&#160;&#160;1u</td></tr>
<tr class="memdesc:ga01fabb77bdc210ee4934de063f22d553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sequential runtime (CPU only) <a href="#ga01fabb77bdc210ee4934de063f22d553">More...</a><br /></td></tr>
<tr class="separator:ga01fabb77bdc210ee4934de063f22d553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga457c36c7619dbb25cc75feef3febc2e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga457c36c7619dbb25cc75feef3febc2e3">DNNL_RUNTIME_OMP</a>&#160;&#160;&#160;2u</td></tr>
<tr class="memdesc:ga457c36c7619dbb25cc75feef3febc2e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenMP runtime (CPU only) <a href="#ga457c36c7619dbb25cc75feef3febc2e3">More...</a><br /></td></tr>
<tr class="separator:ga457c36c7619dbb25cc75feef3febc2e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c5fbce1bd3d780a088a34e90fbb4e4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga9c5fbce1bd3d780a088a34e90fbb4e4f">DNNL_RUNTIME_TBB</a>&#160;&#160;&#160;4u</td></tr>
<tr class="memdesc:ga9c5fbce1bd3d780a088a34e90fbb4e4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">TBB runtime (CPU only) <a href="#ga9c5fbce1bd3d780a088a34e90fbb4e4f">More...</a><br /></td></tr>
<tr class="separator:ga9c5fbce1bd3d780a088a34e90fbb4e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab830f5937d97d4fc2a7dd09d84f43873"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gab830f5937d97d4fc2a7dd09d84f43873">DNNL_RUNTIME_THREADPOOL</a>&#160;&#160;&#160;8u</td></tr>
<tr class="memdesc:gab830f5937d97d4fc2a7dd09d84f43873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Threadpool runtime (CPU only) <a href="#gab830f5937d97d4fc2a7dd09d84f43873">More...</a><br /></td></tr>
<tr class="separator:gab830f5937d97d4fc2a7dd09d84f43873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e98ba1f2fa907d8b11b009fecae32da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga2e98ba1f2fa907d8b11b009fecae32da">DNNL_RUNTIME_OCL</a>&#160;&#160;&#160;256u</td></tr>
<tr class="memdesc:ga2e98ba1f2fa907d8b11b009fecae32da"><td class="mdescLeft">&#160;</td><td class="mdescRight">OpenCL runtime. <a href="#ga2e98ba1f2fa907d8b11b009fecae32da">More...</a><br /></td></tr>
<tr class="separator:ga2e98ba1f2fa907d8b11b009fecae32da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c26ca286652838cb6927ca8bcd57ed7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga6c26ca286652838cb6927ca8bcd57ed7">DNNL_RUNTIME_SYCL</a>&#160;&#160;&#160;512u</td></tr>
<tr class="memdesc:ga6c26ca286652838cb6927ca8bcd57ed7"><td class="mdescLeft">&#160;</td><td class="mdescRight">SYCL runtime. <a href="#ga6c26ca286652838cb6927ca8bcd57ed7">More...</a><br /></td></tr>
<tr class="separator:ga6c26ca286652838cb6927ca8bcd57ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabd8370864d13a1667f7dc1d67b64e7c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gabd8370864d13a1667f7dc1d67b64e7c1">DNNL_RUNTIME_DPCPP</a>&#160;&#160;&#160;<a class="el" href="group__dnnl__api__service.html#ga6c26ca286652838cb6927ca8bcd57ed7">DNNL_RUNTIME_SYCL</a></td></tr>
<tr class="memdesc:gabd8370864d13a1667f7dc1d67b64e7c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">DPC++ runtime. <a href="#gabd8370864d13a1667f7dc1d67b64e7c1">More...</a><br /></td></tr>
<tr class="separator:gabd8370864d13a1667f7dc1d67b64e7c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ceacd6430988ed4bf58f5b01cd9c5a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga7ceacd6430988ed4bf58f5b01cd9c5a4">DNNL_JIT_PROFILE_NONE</a>&#160;&#160;&#160;0u</td></tr>
<tr class="memdesc:ga7ceacd6430988ed4bf58f5b01cd9c5a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable profiling completely. <a href="#ga7ceacd6430988ed4bf58f5b01cd9c5a4">More...</a><br /></td></tr>
<tr class="separator:ga7ceacd6430988ed4bf58f5b01cd9c5a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga137013d98ef736973ebbe1ecd4a4b2c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga137013d98ef736973ebbe1ecd4a4b2c9">DNNL_JIT_PROFILE_VTUNE</a>&#160;&#160;&#160;1u</td></tr>
<tr class="memdesc:ga137013d98ef736973ebbe1ecd4a4b2c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable VTune Amplifier integration. <a href="#ga137013d98ef736973ebbe1ecd4a4b2c9">More...</a><br /></td></tr>
<tr class="separator:ga137013d98ef736973ebbe1ecd4a4b2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb5b174589525cce34589ef4ef56462f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gacb5b174589525cce34589ef4ef56462f">DNNL_JIT_PROFILE_LINUX_PERFMAP</a>&#160;&#160;&#160;2u</td></tr>
<tr class="memdesc:gacb5b174589525cce34589ef4ef56462f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Linux perf integration via perfmap files. <a href="#gacb5b174589525cce34589ef4ef56462f">More...</a><br /></td></tr>
<tr class="separator:gacb5b174589525cce34589ef4ef56462f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5afb7d615d8507b8d5469553e6dde2a7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga5afb7d615d8507b8d5469553e6dde2a7">DNNL_JIT_PROFILE_LINUX_JITDUMP</a>&#160;&#160;&#160;4u</td></tr>
<tr class="memdesc:ga5afb7d615d8507b8d5469553e6dde2a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Linux perf integration via jitdump files. <a href="#ga5afb7d615d8507b8d5469553e6dde2a7">More...</a><br /></td></tr>
<tr class="separator:ga5afb7d615d8507b8d5469553e6dde2a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66a48a940ab2916d360b0bb677a70e5f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga66a48a940ab2916d360b0bb677a70e5f">DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC</a>&#160;&#160;&#160;8u</td></tr>
<tr class="separator:ga66a48a940ab2916d360b0bb677a70e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5a1d61af9d5b15dbc6d7d33f0f3e22bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga5a1d61af9d5b15dbc6d7d33f0f3e22bc">DNNL_JIT_PROFILE_LINUX_PERF</a>&#160;&#160;&#160;(<a class="el" href="group__dnnl__api__service.html#ga5afb7d615d8507b8d5469553e6dde2a7">DNNL_JIT_PROFILE_LINUX_JITDUMP</a> | <a class="el" href="group__dnnl__api__service.html#gacb5b174589525cce34589ef4ef56462f">DNNL_JIT_PROFILE_LINUX_PERFMAP</a>)</td></tr>
<tr class="memdesc:ga5a1d61af9d5b15dbc6d7d33f0f3e22bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Linux perf integration (both jitdump and perfmap) <a href="#ga5a1d61af9d5b15dbc6d7d33f0f3e22bc">More...</a><br /></td></tr>
<tr class="separator:ga5a1d61af9d5b15dbc6d7d33f0f3e22bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga303bab5d2e7b371bb44495864df21dd2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a> { <br />
&#160;&#160;<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a4f614e9d72ffc6338fdfc420b77601c8">dnnl_cpu_isa_all</a> = 0x0,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a5e2f2cccadb94b34700a90bba91e0fe3">dnnl_cpu_isa_sse41</a> = 0x1,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a270db093c67689e8e926afffc16706a2">dnnl_cpu_isa_avx</a> = 0x3,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a45f38960497cf614c1adfffddaa57032">dnnl_cpu_isa_avx2</a> = 0x7,
<br />
&#160;&#160;<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a0929d2af13de542102f0d47776023164">dnnl_cpu_isa_avx512_mic</a> = 0xf,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2ad30d60a53b03395ab914e685656436e2">dnnl_cpu_isa_avx512_mic_4ops</a> = 0x1f,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a574f09a9b057ba134d48dadf6d8aa201">dnnl_cpu_isa_avx512_core</a> = 0x27,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a3aced59a3047f7e407b1fe3310430554">dnnl_cpu_isa_avx512_core_vnni</a> = 0x67,
<br />
&#160;&#160;<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a9ced36845ccb9a8dd63cd49ec103412b">dnnl_cpu_isa_avx512_core_bf16</a> = 0xe7,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a3a4b0c594f109982fde90e221087ded9">dnnl_cpu_isa_avx512_core_amx</a> = 0x3e7,
<a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a8f2cbdae2834cebd2e5bf86b8c65e9d4">dnnl_cpu_isa_avx2_vnni</a> = 0x407
<br />
}<tr class="memdesc:ga303bab5d2e7b371bb44495864df21dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU instruction set flags. <a href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ga303bab5d2e7b371bb44495864df21dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf356412d94e35579bd509ed1fa174f5d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a> { <a class="el" href="group__dnnl__api__service.html#ggaf356412d94e35579bd509ed1fa174f5da9e598ac27ce94827b20cab264d623da4">dnnl_cpu_isa_no_hints</a> = 0x0,
<a class="el" href="group__dnnl__api__service.html#ggaf356412d94e35579bd509ed1fa174f5daf9dd6f8367a4de1e12aa617307edbe41">dnnl_cpu_isa_prefer_ymm</a> = 0x1
}<tr class="memdesc:gaf356412d94e35579bd509ed1fa174f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">CPU ISA hints flags. <a href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:gaf356412d94e35579bd509ed1fa174f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga14cc3b56337322e1e5132c5ee0c84856"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga14cc3b56337322e1e5132c5ee0c84856">dnnl_set_verbose</a> (int level)</td></tr>
<tr class="separator:ga14cc3b56337322e1e5132c5ee0c84856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03c8f4af3d01f76060f98e78039837fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga03c8f4af3d01f76060f98e78039837fc">dnnl_set_jit_dump</a> (int enable)</td></tr>
<tr class="separator:ga03c8f4af3d01f76060f98e78039837fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73e40d184386e9d9ca917756e76fb232"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structdnnl__version__t.html">dnnl_version_t</a> DNNL_API *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga73e40d184386e9d9ca917756e76fb232">dnnl_version</a> (void)</td></tr>
<tr class="separator:ga73e40d184386e9d9ca917756e76fb232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ef634e4f201a12d32e573955943f48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga51ef634e4f201a12d32e573955943f48">dnnl_set_jit_profiling_flags</a> (unsigned flags)</td></tr>
<tr class="separator:ga51ef634e4f201a12d32e573955943f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb0fb0d37d72bc58386ba97bb858f8f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gafb0fb0d37d72bc58386ba97bb858f8f7">dnnl_set_jit_profiling_jitdumpdir</a> (const char *dir)</td></tr>
<tr class="separator:gafb0fb0d37d72bc58386ba97bb858f8f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b7f3b3299482f88f1a0aa61a4707156"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#ga4b7f3b3299482f88f1a0aa61a4707156">dnnl_set_max_cpu_isa</a> (<a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a> isa)</td></tr>
<tr class="separator:ga4b7f3b3299482f88f1a0aa61a4707156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac55836cf36bc25f8635e459678303570"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gac55836cf36bc25f8635e459678303570">dnnl_get_effective_cpu_isa</a> (void)</td></tr>
<tr class="separator:gac55836cf36bc25f8635e459678303570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad078a384ab0e078d81595686efd26ed2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gad078a384ab0e078d81595686efd26ed2">dnnl_set_cpu_isa_hints</a> (<a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a> isa_hints)</td></tr>
<tr class="separator:gad078a384ab0e078d81595686efd26ed2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad93f9f4bf3c9e12a2be7337b1e41d145"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a> DNNL_API&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__dnnl__api__service.html#gad93f9f4bf3c9e12a2be7337b1e41d145">dnnl_get_cpu_isa_hints</a> (void)</td></tr>
<tr class="separator:gad93f9f4bf3c9e12a2be7337b1e41d145"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga5afb7d615d8507b8d5469553e6dde2a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5afb7d615d8507b8d5469553e6dde2a7">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_LINUX_JITDUMP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_LINUX_JITDUMP&#160;&#160;&#160;4u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable Linux perf integration via jitdump files. </p>
</div>
</div>
<a id="ga66a48a940ab2916d360b0bb677a70e5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga66a48a940ab2916d360b0bb677a70e5f">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC&#160;&#160;&#160;8u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Instruct Linux perf integration via jitdump files to use TSC. <a class="el" href="group__dnnl__api__service.html#ga5afb7d615d8507b8d5469553e6dde2a7">DNNL_JIT_PROFILE_LINUX_JITDUMP</a> must be set too for this to take effect. </p>
</div>
</div>
<a id="ga5a1d61af9d5b15dbc6d7d33f0f3e22bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5a1d61af9d5b15dbc6d7d33f0f3e22bc">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_LINUX_PERF</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_LINUX_PERF&#160;&#160;&#160;(<a class="el" href="group__dnnl__api__service.html#ga5afb7d615d8507b8d5469553e6dde2a7">DNNL_JIT_PROFILE_LINUX_JITDUMP</a> | <a class="el" href="group__dnnl__api__service.html#gacb5b174589525cce34589ef4ef56462f">DNNL_JIT_PROFILE_LINUX_PERFMAP</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable Linux perf integration (both jitdump and perfmap) </p>
</div>
</div>
<a id="gacb5b174589525cce34589ef4ef56462f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb5b174589525cce34589ef4ef56462f">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_LINUX_PERFMAP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_LINUX_PERFMAP&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable Linux perf integration via perfmap files. </p>
</div>
</div>
<a id="ga7ceacd6430988ed4bf58f5b01cd9c5a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ceacd6430988ed4bf58f5b01cd9c5a4">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_NONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_NONE&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Disable profiling completely. </p>
</div>
</div>
<a id="ga137013d98ef736973ebbe1ecd4a4b2c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga137013d98ef736973ebbe1ecd4a4b2c9">&#9670;&nbsp;</a></span>DNNL_JIT_PROFILE_VTUNE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_JIT_PROFILE_VTUNE&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable VTune Amplifier integration. </p>
</div>
</div>
<a id="gabd8370864d13a1667f7dc1d67b64e7c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd8370864d13a1667f7dc1d67b64e7c1">&#9670;&nbsp;</a></span>DNNL_RUNTIME_DPCPP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_DPCPP&#160;&#160;&#160;<a class="el" href="group__dnnl__api__service.html#ga6c26ca286652838cb6927ca8bcd57ed7">DNNL_RUNTIME_SYCL</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>DPC++ runtime. </p>
</div>
</div>
<a id="ga64c87a04eba7774b2157dc6ce95d5992"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga64c87a04eba7774b2157dc6ce95d5992">&#9670;&nbsp;</a></span>DNNL_RUNTIME_NONE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_NONE&#160;&#160;&#160;0u</td>
</tr>
</table>
</div><div class="memdoc">
<p>No runtime (disabled) </p>
</div>
</div>
<a id="ga2e98ba1f2fa907d8b11b009fecae32da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e98ba1f2fa907d8b11b009fecae32da">&#9670;&nbsp;</a></span>DNNL_RUNTIME_OCL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_OCL&#160;&#160;&#160;256u</td>
</tr>
</table>
</div><div class="memdoc">
<p>OpenCL runtime. </p>
</div>
</div>
<a id="ga457c36c7619dbb25cc75feef3febc2e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga457c36c7619dbb25cc75feef3febc2e3">&#9670;&nbsp;</a></span>DNNL_RUNTIME_OMP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_OMP&#160;&#160;&#160;2u</td>
</tr>
</table>
</div><div class="memdoc">
<p>OpenMP runtime (CPU only) </p>
</div>
</div>
<a id="ga01fabb77bdc210ee4934de063f22d553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga01fabb77bdc210ee4934de063f22d553">&#9670;&nbsp;</a></span>DNNL_RUNTIME_SEQ</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_SEQ&#160;&#160;&#160;1u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sequential runtime (CPU only) </p>
</div>
</div>
<a id="ga6c26ca286652838cb6927ca8bcd57ed7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6c26ca286652838cb6927ca8bcd57ed7">&#9670;&nbsp;</a></span>DNNL_RUNTIME_SYCL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_SYCL&#160;&#160;&#160;512u</td>
</tr>
</table>
</div><div class="memdoc">
<p>SYCL runtime. </p>
</div>
</div>
<a id="ga9c5fbce1bd3d780a088a34e90fbb4e4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c5fbce1bd3d780a088a34e90fbb4e4f">&#9670;&nbsp;</a></span>DNNL_RUNTIME_TBB</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_TBB&#160;&#160;&#160;4u</td>
</tr>
</table>
</div><div class="memdoc">
<p>TBB runtime (CPU only) </p>
</div>
</div>
<a id="gab830f5937d97d4fc2a7dd09d84f43873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab830f5937d97d4fc2a7dd09d84f43873">&#9670;&nbsp;</a></span>DNNL_RUNTIME_THREADPOOL</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DNNL_RUNTIME_THREADPOOL&#160;&#160;&#160;8u</td>
</tr>
</table>
</div><div class="memdoc">
<p>Threadpool runtime (CPU only) </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gaf356412d94e35579bd509ed1fa174f5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf356412d94e35579bd509ed1fa174f5d">&#9670;&nbsp;</a></span>dnnl_cpu_isa_hints_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU ISA hints flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf356412d94e35579bd509ed1fa174f5da9e598ac27ce94827b20cab264d623da4"></a>dnnl_cpu_isa_no_hints&#160;</td><td class="fielddoc"><p>No hints (use default features) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf356412d94e35579bd509ed1fa174f5daf9dd6f8367a4de1e12aa617307edbe41"></a>dnnl_cpu_isa_prefer_ymm&#160;</td><td class="fielddoc"><p>Prefer to exclusively use Ymm registers for computations. </p>
</td></tr>
</table>
</div>
</div>
<a id="ga303bab5d2e7b371bb44495864df21dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga303bab5d2e7b371bb44495864df21dd2">&#9670;&nbsp;</a></span>dnnl_cpu_isa_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>CPU instruction set flags. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a4f614e9d72ffc6338fdfc420b77601c8"></a>dnnl_cpu_isa_all&#160;</td><td class="fielddoc"><p>Any ISA (excepting those listed as initial support) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a5e2f2cccadb94b34700a90bba91e0fe3"></a>dnnl_cpu_isa_sse41&#160;</td><td class="fielddoc"><p>Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a270db093c67689e8e926afffc16706a2"></a>dnnl_cpu_isa_avx&#160;</td><td class="fielddoc"><p>Intel Advanced Vector Extensions (Intel AVX) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a45f38960497cf614c1adfffddaa57032"></a>dnnl_cpu_isa_avx2&#160;</td><td class="fielddoc"><p>Intel Advanced Vector Extensions 2 (Intel AVX2) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a0929d2af13de542102f0d47776023164"></a>dnnl_cpu_isa_avx512_mic&#160;</td><td class="fielddoc"><p>Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2ad30d60a53b03395ab914e685656436e2"></a>dnnl_cpu_isa_avx512_mic_4ops&#160;</td><td class="fielddoc"><p>Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a574f09a9b057ba134d48dadf6d8aa201"></a>dnnl_cpu_isa_avx512_core&#160;</td><td class="fielddoc"><p>Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a3aced59a3047f7e407b1fe3310430554"></a>dnnl_cpu_isa_avx512_core_vnni&#160;</td><td class="fielddoc"><p>Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processor family and Intel Core processor family. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a9ced36845ccb9a8dd63cd49ec103412b"></a>dnnl_cpu_isa_avx512_core_bf16&#160;</td><td class="fielddoc"><p>Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel Core processor family. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a3a4b0c594f109982fde90e221087ded9"></a>dnnl_cpu_isa_avx512_core_amx&#160;</td><td class="fielddoc"><p>Intel AVX-512, Intel DL Boost and bfloat16 support and Intel AMX with 8-bit integer and bfloat16 support (initial support) </p>
</td></tr>
<tr><td class="fieldname"><a id="gga303bab5d2e7b371bb44495864df21dd2a8f2cbdae2834cebd2e5bf86b8c65e9d4"></a>dnnl_cpu_isa_avx2_vnni&#160;</td><td class="fielddoc"><p>Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gad93f9f4bf3c9e12a2be7337b1e41d145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad93f9f4bf3c9e12a2be7337b1e41d145">&#9670;&nbsp;</a></span>dnnl_get_cpu_isa_hints()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a> DNNL_API dnnl_get_cpu_isa_hints </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the ISA specific hints that library can follow. See <a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d" title="CPU ISA hints flags. ">dnnl_cpu_isa_hints_t</a> and #dnnl::cpu_isa_hints for the list of the values returned by the C and C++ API functions respectively.</p>
<dl class="section see"><dt>See also</dt><dd>dev_guide_cpu_isa_hints for more details</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d" title="CPU ISA hints flags. ">dnnl_cpu_isa_hints_t</a> value reflecting the ISA specific hints the library can follow. </dd></dl>
</div>
</div>
<a id="gac55836cf36bc25f8635e459678303570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac55836cf36bc25f8635e459678303570">&#9670;&nbsp;</a></span>dnnl_get_effective_cpu_isa()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a> DNNL_API dnnl_get_effective_cpu_isa </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the maximal ISA the library can dispatch to on the CPU. See <a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2" title="CPU instruction set flags. ">dnnl_cpu_isa_t</a> and #dnnl::cpu_isa for the list of the values returned by the C and C++ API functions respectively.</p>
<dl class="section see"><dt>See also</dt><dd>dev_guide_cpu_dispatcher_control for more details</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2" title="CPU instruction set flags. ">dnnl_cpu_isa_t</a> value reflecting the maximal ISA the library may dispatch to. </dd></dl>
</div>
</div>
<a id="gad078a384ab0e078d81595686efd26ed2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad078a384ab0e078d81595686efd26ed2">&#9670;&nbsp;</a></span>dnnl_set_cpu_isa_hints()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_cpu_isa_hints </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d">dnnl_cpu_isa_hints_t</a>&#160;</td>
<td class="paramname"><em>isa_hints</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the hints flag for the CPU ISA. See <a class="el" href="group__dnnl__api__service.html#gaf356412d94e35579bd509ed1fa174f5d" title="CPU ISA hints flags. ">dnnl_cpu_isa_hints_t</a> and #dnnl::cpu_isa_hints for the list of the values accepted by the C and C++ API functions respectively.</p>
<p>This function has effect only once, and returns an error on subsequent calls. It should also be invoked before any other oneDNN API call, otherwise it may return an error.</p>
<p>This function overrides the DNNL_CPU_ISA_HINTS environment variable. </p><dl class="section see"><dt>See also</dt><dd>dev_guide_cpu_isa_hints for more details</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">isa_hints</td><td>CPU ISA hints to be passed over to the implementation. Pass <a class="el" href="group__dnnl__api__service.html#ggaf356412d94e35579bd509ed1fa174f5da9e598ac27ce94827b20cab264d623da4" title="No hints (use default features) ">dnnl_cpu_isa_no_hints</a>/#dnnl::cpu_isa_hints::no_hints to use default features i.e. no hints. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success on success and a <a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aa38efb4adabcae7c9e6479e8ee1242b9b" title="Primitive or engine failed on execution. ">dnnl_runtime_error</a>/#dnnl::status::runtime_error if the ISA hints cannot be specified at the current time. </dd>
<dd>
<a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aa3a8579e8afc4e23344cd3115b0e81de1" title="The operation failed because requested functionality is not implemented. ">dnnl_unimplemented</a>/#dnnl::status::unimplemented if the feature was disabled at build time (see dev_guide_build_options for more details). </dd></dl>
</div>
</div>
<a id="ga03c8f4af3d01f76060f98e78039837fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga03c8f4af3d01f76060f98e78039837fc">&#9670;&nbsp;</a></span>dnnl_set_jit_dump()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_jit_dump </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>enable</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures dumping of JIT-generated code.</p>
<dl class="section note"><dt>Note</dt><dd>This setting overrides the DNNL_JIT_DUMP environment variable.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enable</td><td>Flag value. Set to 0 to disable and set to 1 to enable. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaecec97c787d74a33924abcf16ae4f51c" title="The operation failed because of incorrect function arguments. ">dnnl_invalid_arguments</a>/#dnnl::status::invalid_arguments if the <code>flag</code> value is invalid, and <a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success on success. </dd></dl>
</div>
</div>
<a id="ga51ef634e4f201a12d32e573955943f48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga51ef634e4f201a12d32e573955943f48">&#9670;&nbsp;</a></span>dnnl_set_jit_profiling_flags()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_jit_profiling_flags </td>
<td>(</td>
<td class="paramtype">unsigned&#160;</td>
<td class="paramname"><em>flags</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets library profiling flags. The flags define which profilers are supported.</p>
<dl class="section note"><dt>Note</dt><dd>This setting overrides DNNL_JIT_PROFILE environment variable.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>dev_guide_profilers</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">flags</td><td>Profiling flags that can contain the following bits:<ul>
<li><a class="el" href="group__dnnl__api__service.html#ga137013d98ef736973ebbe1ecd4a4b2c9">DNNL_JIT_PROFILE_VTUNE</a> &ndash; integration with VTune Amplifier (on by default)</li>
<li><a class="el" href="group__dnnl__api__service.html#ga5afb7d615d8507b8d5469553e6dde2a7">DNNL_JIT_PROFILE_LINUX_JITDUMP</a> &ndash; produce Linux-specific jit-pid.dump output (off by default). The location of the output is controlled via JITDUMPDIR environment variable or via <a class="el" href="group__dnnl__api__service.html#gafb0fb0d37d72bc58386ba97bb858f8f7">dnnl_set_jit_profiling_jitdumpdir()</a> function.</li>
<li><a class="el" href="group__dnnl__api__service.html#gacb5b174589525cce34589ef4ef56462f">DNNL_JIT_PROFILE_LINUX_PERFMAP</a> &ndash; produce Linux-specific perf-pid.map output (off by default). The output is always placed into /tmp.</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<p>Passing <a class="el" href="group__dnnl__api__service.html#ga7ceacd6430988ed4bf58f5b01cd9c5a4">DNNL_JIT_PROFILE_NONE</a> disables profiling completely.</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaecec97c787d74a33924abcf16ae4f51c" title="The operation failed because of incorrect function arguments. ">dnnl_invalid_arguments</a>/#dnnl::status::invalid_arguments if the <code>flags</code> value is invalid, and <a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success on success. </dd></dl>
</div>
</div>
<a id="gafb0fb0d37d72bc58386ba97bb858f8f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb0fb0d37d72bc58386ba97bb858f8f7">&#9670;&nbsp;</a></span>dnnl_set_jit_profiling_jitdumpdir()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_jit_profiling_jitdumpdir </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>dir</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets JIT dump output path. Only applicable to Linux and is only used when profiling flags have DNNL_JIT_PROFILE_LINUX_PERF bit set.</p>
<p>After the first JIT kernel is generated, the jitdump output will be placed into temporary directory created using the mkdtemp template 'dir/.debug/jit/dnnl.XXXXXX'.</p>
<dl class="section see"><dt>See also</dt><dd>dev_guide_profilers</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This setting overrides JITDUMPDIR environment variable. If JITDUMPDIR is not set, and this function is never called, the path defaults to HOME. Passing NULL reverts the value to default.</dd>
<dd>
The directory is accessed only when the first JIT kernel is being created. JIT profiling will be disabled in case of any errors accessing or creating this directory.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">dir</td><td>JIT dump output path. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success if the output directory was set correctly and an error status otherwise. </dd>
<dd>
<a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aa3a8579e8afc4e23344cd3115b0e81de1" title="The operation failed because requested functionality is not implemented. ">dnnl_unimplemented</a>/#dnnl::status::unimplemented on Windows. </dd></dl>
</div>
</div>
<a id="ga4b7f3b3299482f88f1a0aa61a4707156"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4b7f3b3299482f88f1a0aa61a4707156">&#9670;&nbsp;</a></span>dnnl_set_max_cpu_isa()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_max_cpu_isa </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2">dnnl_cpu_isa_t</a>&#160;</td>
<td class="paramname"><em>isa</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the maximal ISA the library can dispatch to on the CPU. See <a class="el" href="group__dnnl__api__service.html#ga303bab5d2e7b371bb44495864df21dd2" title="CPU instruction set flags. ">dnnl_cpu_isa_t</a> and #dnnl::cpu_isa for the list of the values accepted by the C and C++ API functions respectively.</p>
<p>This function has effect only once, and returns an error on subsequent calls. It should also be invoked before any other oneDNN API call, otherwise it may return an error.</p>
<p>This function overrides the DNNL_MAX_CPU_ISA environment variable. The environment variable can be set to the desired maximal ISA name in upper case and with dnnl_cpu_isa prefix removed. For example: <code>DNNL_MAX_CPU_ISA=AVX2</code>.</p>
<dl class="section note"><dt>Note</dt><dd>The ISAs are only partially ordered:<ul>
<li>SSE41 &lt; AVX &lt; AVX2,</li>
<li>AVX2 &lt; AVX512_MIC &lt; AVX512_MIC_4OPS,</li>
<li>AVX2 &lt; AVX512_CORE &lt; AVX512_CORE_VNNI &lt; AVX512_CORE_BF16 &lt; AVX512_CORE_AMX,</li>
<li>AVX2 &lt; AVX2_VNNI.</li>
</ul>
</dd></dl>
<dl class="section see"><dt>See also</dt><dd>dev_guide_cpu_dispatcher_control for more details</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">isa</td><td>Maximal ISA the library should dispatch to. Pass <a class="el" href="group__dnnl__api__service.html#gga303bab5d2e7b371bb44495864df21dd2a4f614e9d72ffc6338fdfc420b77601c8" title="Any ISA (excepting those listed as initial support) ">dnnl_cpu_isa_all</a>/#dnnl::cpu_isa::all to remove ISA restrictions (except for ISAs with initial support in the library). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success on success and a <a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaecec97c787d74a33924abcf16ae4f51c" title="The operation failed because of incorrect function arguments. ">dnnl_invalid_arguments</a>/#dnnl::status::invalid_arguments if the <code>isa</code> parameter is invalid or the ISA cannot be changed at this time. </dd>
<dd>
<a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aa3a8579e8afc4e23344cd3115b0e81de1" title="The operation failed because requested functionality is not implemented. ">dnnl_unimplemented</a>/#dnnl::status::unimplemented if the feature was disabled at build time (see dev_guide_build_options for more details). </dd></dl>
</div>
</div>
<a id="ga14cc3b56337322e1e5132c5ee0c84856"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga14cc3b56337322e1e5132c5ee0c84856">&#9670;&nbsp;</a></span>dnnl_set_verbose()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__dnnl__api__utils.html#gad24f9ded06e34d3ee71e7fc4b408d57a">dnnl_status_t</a> DNNL_API dnnl_set_verbose </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>level</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures verbose output to stdout.</p>
<dl class="section note"><dt>Note</dt><dd>Enabling verbose output affects performance. This setting overrides the DNNL_VERBOSE environment variable.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">level</td><td>Verbosity level:<ul>
<li>0: no verbose output (default),</li>
<li>1: primitive information at execution,</li>
<li>2: primitive information at creation and execution. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaecec97c787d74a33924abcf16ae4f51c" title="The operation failed because of incorrect function arguments. ">dnnl_invalid_arguments</a>/#dnnl::status::invalid_arguments if the <code>level</code> value is invalid, and <a class="el" href="group__dnnl__api__utils.html#ggad24f9ded06e34d3ee71e7fc4b408d57aaa31395e9dccc103cf166cf7b38fc5b9c" title="The operation was successful. ">dnnl_success</a>/#dnnl::status::success on success. </dd></dl>
</div>
</div>
<a id="ga73e40d184386e9d9ca917756e76fb232"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga73e40d184386e9d9ca917756e76fb232">&#9670;&nbsp;</a></span>dnnl_version()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structdnnl__version__t.html">dnnl_version_t</a> DNNL_API* dnnl_version </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns library version information. </p><dl class="section return"><dt>Returns</dt><dd>Pointer to a constant structure containing<ul>
<li>major: major version number,</li>
<li>minor: minor version number,</li>
<li>patch: patch release number,</li>
<li>hash: git commit hash. </li>
</ul>
</dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 00:58:43 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>