Changes

Jump to: navigation, search

SSE2

231 bytes added, 14:10, 18 November 2020
no edit summary
</pre>
==Rotated Dot Product==
A little bit cheaper is to expand the bitboard to a vector or of 90 degree rotated {0,255} bytes, which requires a rotated weight vector as well <ref>[https://www.stmintz.com/ccc/index.php?id=377546 SSE2 bit<nowiki>[64] * byte[64]</nowiki> dot product] by [[Gerd Isenberg]], [[CCC]], July 17, 2004</ref>.
<pre>
/* for average weights < 64 */
<span id="SSE2popcount"></span>
==SSE2 Population Count==
Following proposal of a [[Population Count#SWARPopcount|SWAR-Popcount]] combined with a dot product might be quite competitive on recent [[x86-64]] processors with a throughput of up to three simd-instructions per cycle <ref>[http://www.intel.com/design/processor/manuals/248966.pdf Intel 64 and IA32 Architectures Optimization Reference Manual] (pdf) Appendix C Instruction Latencies</ref> <ref>[https://supportwww.amd.com/techdocssystem/files/TechDocs/40546.pdf Software Optimization Guide for AMD Family 10h and 12h Processors] (pdf) Appendix C Instruction Latencies</ref> . It determines the cardinalities of eight bitboards, multiplies them with a corresponding weight, a signed 16-bit [[Word|word]], to finally add all together as integer. However, [[Wojciech Muła|Wojciech Muła's]] [[SSSE3#PopCount|SSSE3 PopCnt]] would save some more cycles, even more with doubled or fourfold register widths using [[AVX2]] or [[AVX-512]].
<pre>
/**
=See also=
* [[DirGolem]]
* [[Pigeon]]
* [[SIMD and SWAR Techniques]]
* [[SIMD Techniques]] for [[Sliding Piece Attacks]] with [[Bitboards]]
* [[Quad-Bitboards#SSE2Conversions|SSE2 Conversions]] of [[Quad-Bitboards]]
 
=SIMD=
* [[AltiVec]]
* [[AVX]]
* [[AVX2]]
* [[AVX-512]]
* [[DirGolem]]
* [[MMX]]
* [[SIMD and SWAR Techniques]]
* [[SIMD Techniques]] for [[Sliding Piece Attacks]] with [[Bitboards]]
* [[Quad-Bitboards#SSE2Conversions|SSE2 Conversions]] of [[Quad-Bitboards]]
* [[SSE]]
* [[SSE3]]
* [http://software.intel.com/sites/landingpage/IntrinsicsGuide/ Intel Intrinsics Guide]
* [http://www.aartbik.com/simd.php The Software Vectorization HandBook] by [[Aart Bik]]
* [[:Category:Kraan|Kraan]] - Vollgas Ahoi <ref>[https://en.wiktionary.org/ Borgward wiki/ Nam NamVollgas Vollgas - Wiktionary], [httphttps://en.wiktionary.org/wiki/ahoi ahoi - Wiktionary]</ref>, [https://www.germanrockswp.de/festivalssuedwesten/staedte/geislingen/raetsche-geislingen-aus-der-raetschenmuehle-live-in-die-wohnzimmer-44964276.php?jahr=2005&id=144 Finkenbach Festival 2005html Rätschenmühle], [https://en.wikipedia.org/wiki/Geislingen_an_der_Steige Geislingen], April 25, 2009,[https://en.wikipedia.org/wiki/YouTube YouTube] Video: lineup: [[:Category:Hellmut Hattler|Hellmut Hattler]], [https://en.wikipedia.org/wiki/Peter_Wolbrandt Peter Wolbrandt], [https://www.discogs.com/artist/345783-Jan-Fride-Wolbrandt Jan Fride Wolbrandt], [https://de.wikipedia.org/wiki/Ingo_Bischof Ingo Bischof]: {{#evu:https://www.youtube.com/watch?v=I-udLkZacAkA11bAJOOqF8|alignment=left|valignment=top}}
=References=

Navigation menu