Skip to content

Commit 30d1bde

Browse files
committed
+add function SimdSetAmxFull.
1 parent a2031dd commit 30d1bde

5 files changed

Lines changed: 24 additions & 2 deletions

File tree

docs/2025.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ <h5>New features</h5>
4242
<ul>
4343
<li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution16bNhwcSpecV1.</li>
4444
<li>AMX tile config changes caching.</li>
45+
<li>Function SimdSetAmxFull.</li>
4546
</ul>
4647
<h5>Improve</h5>
4748
<ul>

docs/help/group__cpu__flags.html

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Simd/SimdLib.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
6262
#include "Simd/SimdLog.h"
6363
#include "Simd/SimdPerformance.h"
6464
#include "Simd/SimdEmpty.h"
65+
#include "Simd/SimdTile.h"
6566

6667
#include "Simd/SimdDescrInt.h"
6768
#include "Simd/SimdGaussianBlur.h"
@@ -233,6 +234,14 @@ SIMD_API void SimdEmpty()
233234
Sse41::Empty();
234235
#endif
235236
}
237+
SIMD_API void SimdSetAmxFull()
238+
{
239+
#ifdef SIMD_AMXBF16_ENABLE
240+
if (AmxBf16::Enable)
241+
AmxBf16::SetTileConfFull(true);
242+
#endif
243+
}
244+
236245

237246
SIMD_API uint32_t SimdCrc32(const void* src, size_t size)
238247
{

src/Simd/SimdLib.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -941,6 +941,14 @@ extern "C"
941941
*/
942942
SIMD_API void SimdSetFastMode(SimdBool value);
943943

944+
/*! @ingroup cpu_flags
945+
946+
\fn void SimdSetAmxFull();
947+
948+
\short Set configuration of AMX registers to maximat size. It is x86 specific functionality. Affect only on CPU with AMX support.
949+
*/
950+
SIMD_API void SimdSetAmxFull();
951+
944952
/*! @ingroup hash
945953
946954
\fn uint32_t SimdCrc32(const void * src, size_t size);

src/Simd/SimdTile.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ namespace Simd
142142
return false;
143143
}
144144

145-
SIMD_INLINE void SetTileConfFull()
145+
SIMD_INLINE void SetTileConfFull(bool force = false)
146146
{
147-
if (TileConfChanged(32, 32))
147+
if (TileConfChanged(32, 32) || force)
148148
{
149149
TileConf conf = TileConf(false);
150150
_tile_loadconfig(&conf);

0 commit comments

Comments
 (0)