mirror of
https://github.com/ml-explore/mlx.git
synced 2025-06-25 18:11:15 +08:00
571 lines
31 KiB
HTML
571 lines
31 KiB
HTML
![]() |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
|
<meta name="generator" content="Doxygen 1.12.0"/>
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
|
<title>MLX: QuantizedBlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits > Struct Template Reference</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>
|
||
|
<script type="text/javascript" src="clipboard.js"></script>
|
||
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
|
<script type="text/javascript" src="resize.js"></script>
|
||
|
<script type="text/javascript" src="cookie.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 id="projectrow">
|
||
|
<td id="projectalign">
|
||
|
<div id="projectname">MLX
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
<!-- end header part -->
|
||
|
<!-- Generated by Doxygen 1.12.0 -->
|
||
|
<script type="text/javascript">
|
||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
|
/* @license-end */
|
||
|
</script>
|
||
|
<script type="text/javascript">
|
||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
$(function() { codefold.init(0); });
|
||
|
/* @license-end */
|
||
|
</script>
|
||
|
<script type="text/javascript" src="menudata.js"></script>
|
||
|
<script type="text/javascript" src="menu.js"></script>
|
||
|
<script type="text/javascript">
|
||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
$(function() {
|
||
|
initMenu('',true,false,'search.php','Search',false);
|
||
|
$(function() { init_search(); });
|
||
|
});
|
||
|
/* @license-end */
|
||
|
</script>
|
||
|
<div id="main-nav"></div>
|
||
|
<script type="text/javascript">
|
||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||
|
$(function(){ initResizable(false); });
|
||
|
/* @license-end */
|
||
|
</script>
|
||
|
<!-- 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">
|
||
|
<div id="MSearchResults">
|
||
|
<div class="SRPage">
|
||
|
<div id="SRIndex">
|
||
|
<div id="SRResults"></div>
|
||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div><!-- top -->
|
||
|
<div id="doc-content">
|
||
|
<div class="header">
|
||
|
<div class="summary">
|
||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||
|
<a href="#pub-attribs">Public Attributes</a> |
|
||
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
||
|
<a href="struct_quantized_block_loader-members.html">List of all members</a> </div>
|
||
|
<div class="headertitle"><div class="title">QuantizedBlockLoader< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits > Struct Template Reference</div></div>
|
||
|
</div><!--header-->
|
||
|
<div class="contents">
|
||
|
|
||
|
<p><code>#include <<a class="el" href="quantized_8h_source.html">quantized.h</a>></code></p>
|
||
|
<table class="memberdecls">
|
||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||
|
Public Member Functions</h2></td></tr>
|
||
|
<tr class="memitem:af59b054750a65e7e79c1cd05c4acac93" id="r_af59b054750a65e7e79c1cd05c4acac93"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#af59b054750a65e7e79c1cd05c4acac93">QuantizedBlockLoader</a> (const device uint32_t *src_, const device T *scales_, const device T *biases_, const int src_ld_, threadgroup T *dst_, ushort simd_group_id, ushort simd_lane_id)</td></tr>
|
||
|
<tr class="separator:af59b054750a65e7e79c1cd05c4acac93"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a86009527cb4b53e4c21fd6b1f78cfefc" id="r_a86009527cb4b53e4c21fd6b1f78cfefc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a86009527cb4b53e4c21fd6b1f78cfefc">load_unsafe</a> () const</td></tr>
|
||
|
<tr class="separator:a86009527cb4b53e4c21fd6b1f78cfefc"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a699dc9aa284b8fbf870310bbb224465b" id="r_a699dc9aa284b8fbf870310bbb224465b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a699dc9aa284b8fbf870310bbb224465b">load_safe</a> (short2 src_tile_dim) const</td></tr>
|
||
|
<tr class="separator:a699dc9aa284b8fbf870310bbb224465b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a674138ef7c43cc45586ea9f8fd6f6bd9" id="r_a674138ef7c43cc45586ea9f8fd6f6bd9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a674138ef7c43cc45586ea9f8fd6f6bd9">next</a> ()</td></tr>
|
||
|
<tr class="separator:a674138ef7c43cc45586ea9f8fd6f6bd9"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
</table><table class="memberdecls">
|
||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
|
||
|
Public Attributes</h2></td></tr>
|
||
|
<tr class="memitem:a8050977d473d1a24fae5c833e609839e" id="r_a8050977d473d1a24fae5c833e609839e"><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8050977d473d1a24fae5c833e609839e">src_ld</a></td></tr>
|
||
|
<tr class="separator:a8050977d473d1a24fae5c833e609839e"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:ac3f651c1a645291d1037a2cc8ded2320" id="r_ac3f651c1a645291d1037a2cc8ded2320"><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3f651c1a645291d1037a2cc8ded2320">tile_stride</a></td></tr>
|
||
|
<tr class="separator:ac3f651c1a645291d1037a2cc8ded2320"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a234feacde36a4afc0d740332a3769fb6" id="r_a234feacde36a4afc0d740332a3769fb6"><td class="memItemLeft" align="right" valign="top">short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a234feacde36a4afc0d740332a3769fb6">group_step_cnt</a></td></tr>
|
||
|
<tr class="separator:a234feacde36a4afc0d740332a3769fb6"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a0ace7e3762ecfa5a4106e7dee7e1b6ab" id="r_a0ace7e3762ecfa5a4106e7dee7e1b6ab"><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a0ace7e3762ecfa5a4106e7dee7e1b6ab">group_stride</a></td></tr>
|
||
|
<tr class="separator:a0ace7e3762ecfa5a4106e7dee7e1b6ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a50821537ea747bc03295a09bb0eef475" id="r_a50821537ea747bc03295a09bb0eef475"><td class="memItemLeft" align="right" valign="top">const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a50821537ea747bc03295a09bb0eef475">thread_idx</a></td></tr>
|
||
|
<tr class="separator:a50821537ea747bc03295a09bb0eef475"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a85041d72225a2095659c70509291a906" id="r_a85041d72225a2095659c70509291a906"><td class="memItemLeft" align="right" valign="top">const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a85041d72225a2095659c70509291a906">bi</a></td></tr>
|
||
|
<tr class="separator:a85041d72225a2095659c70509291a906"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:ae2add92b2aaf3414e91f0470b9b0cc00" id="r_ae2add92b2aaf3414e91f0470b9b0cc00"><td class="memItemLeft" align="right" valign="top">const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae2add92b2aaf3414e91f0470b9b0cc00">bj</a></td></tr>
|
||
|
<tr class="separator:ae2add92b2aaf3414e91f0470b9b0cc00"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a9857214690fe6abad0e19d1045152f83" id="r_a9857214690fe6abad0e19d1045152f83"><td class="memItemLeft" align="right" valign="top">threadgroup T * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a9857214690fe6abad0e19d1045152f83">dst</a></td></tr>
|
||
|
<tr class="separator:a9857214690fe6abad0e19d1045152f83"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:ad85c6b7e07c81307b3b91eb4dd7be30b" id="r_ad85c6b7e07c81307b3b91eb4dd7be30b"><td class="memItemLeft" align="right" valign="top">const device uint32_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad85c6b7e07c81307b3b91eb4dd7be30b">src</a></td></tr>
|
||
|
<tr class="separator:ad85c6b7e07c81307b3b91eb4dd7be30b"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a6123e4a9209d6eacb58b2c2344ed1ecf" id="r_a6123e4a9209d6eacb58b2c2344ed1ecf"><td class="memItemLeft" align="right" valign="top">const device T * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6123e4a9209d6eacb58b2c2344ed1ecf">scales</a></td></tr>
|
||
|
<tr class="separator:a6123e4a9209d6eacb58b2c2344ed1ecf"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a17d01a6aba0833b073586ef2c09d0fbd" id="r_a17d01a6aba0833b073586ef2c09d0fbd"><td class="memItemLeft" align="right" valign="top">const device T * </td><td class="memItemRight" valign="bottom"><a class="el" href="#a17d01a6aba0833b073586ef2c09d0fbd">biases</a></td></tr>
|
||
|
<tr class="separator:a17d01a6aba0833b073586ef2c09d0fbd"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
</table><table class="memberdecls">
|
||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
|
||
|
Static Public Attributes</h2></td></tr>
|
||
|
<tr class="memitem:a8eae73a0c04bf1e41fb96131f6aa500d" id="r_a8eae73a0c04bf1e41fb96131f6aa500d"><td class="memItemLeft" align="right" valign="top">static constant constexpr const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8eae73a0c04bf1e41fb96131f6aa500d">pack_factor</a> = 32 / bits</td></tr>
|
||
|
<tr class="separator:a8eae73a0c04bf1e41fb96131f6aa500d"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a1392a5278cf6e090ea80ebe7c4ac5fbb" id="r_a1392a5278cf6e090ea80ebe7c4ac5fbb"><td class="memItemLeft" align="right" valign="top">static constant constexpr const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1392a5278cf6e090ea80ebe7c4ac5fbb">BCOLS_PACKED</a> = BCOLS / <a class="el" href="#a8eae73a0c04bf1e41fb96131f6aa500d">pack_factor</a></td></tr>
|
||
|
<tr class="separator:a1392a5278cf6e090ea80ebe7c4ac5fbb"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a6213479f7a6d9314d8879f8856b0b6fb" id="r_a6213479f7a6d9314d8879f8856b0b6fb"><td class="memItemLeft" align="right" valign="top">static constant constexpr const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6213479f7a6d9314d8879f8856b0b6fb">n_reads</a></td></tr>
|
||
|
<tr class="separator:a6213479f7a6d9314d8879f8856b0b6fb"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
<tr class="memitem:a31e14175f3d4902d9fe5ab5a219f61ba" id="r_a31e14175f3d4902d9fe5ab5a219f61ba"><td class="memItemLeft" align="right" valign="top">static constant constexpr const short </td><td class="memItemRight" valign="bottom"><a class="el" href="#a31e14175f3d4902d9fe5ab5a219f61ba">group_steps</a> = group_size / BCOLS</td></tr>
|
||
|
<tr class="separator:a31e14175f3d4902d9fe5ab5a219f61ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||
|
</table>
|
||
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||
|
<a id="af59b054750a65e7e79c1cd05c4acac93" name="af59b054750a65e7e79c1cd05c4acac93"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#af59b054750a65e7e79c1cd05c4acac93">◆ </a></span>QuantizedBlockLoader()</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname"><a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits ><a class="el" href="struct_quantized_block_loader.html">::QuantizedBlockLoader</a> </td>
|
||
|
<td>(</td>
|
||
|
<td class="paramtype">const device uint32_t *</td> <td class="paramname"><span class="paramname"><em>src_</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">const device T *</td> <td class="paramname"><span class="paramname"><em>scales_</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">const device T *</td> <td class="paramname"><span class="paramname"><em>biases_</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">const int</td> <td class="paramname"><span class="paramname"><em>src_ld_</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">threadgroup T *</td> <td class="paramname"><span class="paramname"><em>dst_</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">ushort</td> <td class="paramname"><span class="paramname"><em>simd_group_id</em></span>, </td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td class="paramkey"></td>
|
||
|
<td></td>
|
||
|
<td class="paramtype">ushort</td> <td class="paramname"><span class="paramname"><em>simd_lane_id</em></span> )</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<h2 class="groupheader">Member Function Documentation</h2>
|
||
|
<a id="a699dc9aa284b8fbf870310bbb224465b" name="a699dc9aa284b8fbf870310bbb224465b"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a699dc9aa284b8fbf870310bbb224465b">◆ </a></span>load_safe()</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">void <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::load_safe </td>
|
||
|
<td>(</td>
|
||
|
<td class="paramtype">short2</td> <td class="paramname"><span class="paramname"><em>src_tile_dim</em></span></td><td>)</td>
|
||
|
<td> const</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a86009527cb4b53e4c21fd6b1f78cfefc" name="a86009527cb4b53e4c21fd6b1f78cfefc"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a86009527cb4b53e4c21fd6b1f78cfefc">◆ </a></span>load_unsafe()</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">void <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::load_unsafe </td>
|
||
|
<td>(</td>
|
||
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
|
<td> const</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a674138ef7c43cc45586ea9f8fd6f6bd9" name="a674138ef7c43cc45586ea9f8fd6f6bd9"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a674138ef7c43cc45586ea9f8fd6f6bd9">◆ </a></span>next()</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">void <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::next </td>
|
||
|
<td>(</td>
|
||
|
<td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
|
||
|
<td></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<h2 class="groupheader">Member Data Documentation</h2>
|
||
|
<a id="a1392a5278cf6e090ea80ebe7c4ac5fbb" name="a1392a5278cf6e090ea80ebe7c4ac5fbb"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a1392a5278cf6e090ea80ebe7c4ac5fbb">◆ </a></span>BCOLS_PACKED</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">constant constexpr const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::BCOLS_PACKED = BCOLS / <a class="el" href="#a8eae73a0c04bf1e41fb96131f6aa500d">pack_factor</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a85041d72225a2095659c70509291a906" name="a85041d72225a2095659c70509291a906"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a85041d72225a2095659c70509291a906">◆ </a></span>bi</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::bi</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a17d01a6aba0833b073586ef2c09d0fbd" name="a17d01a6aba0833b073586ef2c09d0fbd"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a17d01a6aba0833b073586ef2c09d0fbd">◆ </a></span>biases</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const device T* <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::biases</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="ae2add92b2aaf3414e91f0470b9b0cc00" name="ae2add92b2aaf3414e91f0470b9b0cc00"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#ae2add92b2aaf3414e91f0470b9b0cc00">◆ </a></span>bj</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::bj</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a9857214690fe6abad0e19d1045152f83" name="a9857214690fe6abad0e19d1045152f83"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a9857214690fe6abad0e19d1045152f83">◆ </a></span>dst</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">threadgroup T* <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::dst</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a234feacde36a4afc0d740332a3769fb6" name="a234feacde36a4afc0d740332a3769fb6"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a234feacde36a4afc0d740332a3769fb6">◆ </a></span>group_step_cnt</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::group_step_cnt</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a31e14175f3d4902d9fe5ab5a219f61ba" name="a31e14175f3d4902d9fe5ab5a219f61ba"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a31e14175f3d4902d9fe5ab5a219f61ba">◆ </a></span>group_steps</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">constant constexpr const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::group_steps = group_size / BCOLS</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a0ace7e3762ecfa5a4106e7dee7e1b6ab" name="a0ace7e3762ecfa5a4106e7dee7e1b6ab"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a0ace7e3762ecfa5a4106e7dee7e1b6ab">◆ </a></span>group_stride</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const int <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::group_stride</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a6213479f7a6d9314d8879f8856b0b6fb" name="a6213479f7a6d9314d8879f8856b0b6fb"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a6213479f7a6d9314d8879f8856b0b6fb">◆ </a></span>n_reads</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">constant constexpr const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::n_reads</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
||
|
<div class="line"> (<a class="code hl_variable" href="#a1392a5278cf6e090ea80ebe7c4ac5fbb">BCOLS_PACKED</a> * BROWS < tgp_size) ? 1 : (<a class="code hl_variable" href="#a1392a5278cf6e090ea80ebe7c4ac5fbb">BCOLS_PACKED</a> * BROWS) / tgp_size</div>
|
||
|
<div class="ttc" id="astruct_quantized_block_loader_html_a1392a5278cf6e090ea80ebe7c4ac5fbb"><div class="ttname"><a href="#a1392a5278cf6e090ea80ebe7c4ac5fbb">QuantizedBlockLoader::BCOLS_PACKED</a></div><div class="ttdeci">static constant constexpr const short BCOLS_PACKED</div><div class="ttdef"><b>Definition</b> quantized.h:273</div></div>
|
||
|
</div><!-- fragment -->
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a8eae73a0c04bf1e41fb96131f6aa500d" name="a8eae73a0c04bf1e41fb96131f6aa500d"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a8eae73a0c04bf1e41fb96131f6aa500d">◆ </a></span>pack_factor</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="mlabels">
|
||
|
<tr>
|
||
|
<td class="mlabels-left">
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">constant constexpr const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::pack_factor = 32 / bits</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
<td class="mlabels-right">
|
||
|
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a6123e4a9209d6eacb58b2c2344ed1ecf" name="a6123e4a9209d6eacb58b2c2344ed1ecf"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a6123e4a9209d6eacb58b2c2344ed1ecf">◆ </a></span>scales</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const device T* <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::scales</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="ad85c6b7e07c81307b3b91eb4dd7be30b" name="ad85c6b7e07c81307b3b91eb4dd7be30b"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#ad85c6b7e07c81307b3b91eb4dd7be30b">◆ </a></span>src</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const device uint32_t* <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::src</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a8050977d473d1a24fae5c833e609839e" name="a8050977d473d1a24fae5c833e609839e"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a8050977d473d1a24fae5c833e609839e">◆ </a></span>src_ld</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const int <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::src_ld</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="a50821537ea747bc03295a09bb0eef475" name="a50821537ea747bc03295a09bb0eef475"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#a50821537ea747bc03295a09bb0eef475">◆ </a></span>thread_idx</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const short <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::thread_idx</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<a id="ac3f651c1a645291d1037a2cc8ded2320" name="ac3f651c1a645291d1037a2cc8ded2320"></a>
|
||
|
<h2 class="memtitle"><span class="permalink"><a href="#ac3f651c1a645291d1037a2cc8ded2320">◆ </a></span>tile_stride</h2>
|
||
|
|
||
|
<div class="memitem">
|
||
|
<div class="memproto">
|
||
|
<div class="memtemplate">
|
||
|
template<typename T , short BROWS, short BCOLS, short dst_ld, short reduction_dim, short tgp_size, short group_size, short bits> </div>
|
||
|
<table class="memname">
|
||
|
<tr>
|
||
|
<td class="memname">const int <a class="el" href="struct_quantized_block_loader.html">QuantizedBlockLoader</a>< T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits >::tile_stride</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><div class="memdoc">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||
|
<li>mlx/backend/metal/kernels/<a class="el" href="quantized_8h_source.html">quantized.h</a></li>
|
||
|
</ul>
|
||
|
</div><!-- contents -->
|
||
|
<!-- start footer part -->
|
||
|
<hr class="footer"/><address class="footer"><small>
|
||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
|
||
|
</small></address>
|
||
|
</div><!-- doc-content -->
|
||
|
</body>
|
||
|
</html>
|