<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/numpy.git/numpy/distutils/checks/cpu_popcnt.c, branch main</title>
<subtitle>github.com: numpy/numpy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/'/>
<entry>
<title>BUG, SIMD: Fix detect host/native CPU features on ICC during compile-time</title>
<updated>2021-05-26T21:35:47+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2021-05-25T22:34:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=0ec2c91dfdc6d62c7e2ebd0071a0dc990e1a84ec'/>
<id>0ec2c91dfdc6d62c7e2ebd0071a0dc990e1a84ec</id>
<content type='text'>
  Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics,
  whether or not the build options for those features are specified.
  Therefore, we must test #definitions of CPU features when option native/host
  is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise
  the test will be broken and leads to enable all possible features.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Unlike GCC and CLANG, Intel Compiler exposes all supported intrinsics,
  whether or not the build options for those features are specified.
  Therefore, we must test #definitions of CPU features when option native/host
  is enabled via `--cpu-baseline` or through env var `CFLAGS` otherwise
  the test will be broken and leads to enable all possible features.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change fix of cpu_popcnt.c to use _mm_popcnt_u64/_mm_popcnt_u32 on GCC</title>
<updated>2021-05-23T15:24:52+00:00</updated>
<author>
<name>Carl Michal</name>
<email>michal@physics.ubc.ca</email>
</author>
<published>2021-05-23T15:24:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=3827c262d128811f3ee36d2bd015544f5922e7c5'/>
<id>3827c262d128811f3ee36d2bd015544f5922e7c5</id>
<content type='text'>
_builtin_popcount is always available, so the compile-time check always
succeeds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
_builtin_popcount is always available, so the compile-time check always
succeeds.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compile-time test of POPCNT</title>
<updated>2021-05-23T03:43:10+00:00</updated>
<author>
<name>Carl Michal</name>
<email>michal@physics.ubc.ca</email>
</author>
<published>2021-05-23T03:43:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=59764c6d3621423c9d4e136e99a69078a79ca6f5'/>
<id>59764c6d3621423c9d4e136e99a69078a79ca6f5</id>
<content type='text'>
The compile-time test of POPCNT, cpu_popcnt.c produced code that would
execute without error even if the machine didn't support the popcnt
instruction. This patch attempts to use popcnt on random numbers so the
compiler can't substitute the answer at compile time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compile-time test of POPCNT, cpu_popcnt.c produced code that would
execute without error even if the machine didn't support the popcnt
instruction. This patch attempts to use popcnt on random numbers so the
compiler can't substitute the answer at compile time.
</pre>
</div>
</content>
</entry>
<entry>
<title>ENH: [1/7] enable multi-platform SIMD compiler optimizations</title>
<updated>2020-06-15T20:48:29+00:00</updated>
<author>
<name>Sayed Adel</name>
<email>seiko@imavr.com</email>
</author>
<published>2020-06-13T16:15:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/numpy.git/commit/?id=da21d28ef69e65c5bfef8dc22840fe16fec52540'/>
<id>da21d28ef69e65c5bfef8dc22840fe16fec52540</id>
<content type='text'>
  Implement new distutils class `CCompilerOpt`, used for handling
  the CPU/hardware optimization, starting from parsing the
  command arguments, to managing the relationship between the CPU baseline
  and dispatch-able features, also generating the required C headers
  and ending with compiling the sources with proper compiler's flags.

  `CCompilerOpt` mainly used as a helper class for `CCompiler`,
  and doesn't provide any runtime detection for the CPU features,
  instead only focuses on the compiler side, but it generates
  abstract C headers that can be used later for the final
  runtime dispatching process.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Implement new distutils class `CCompilerOpt`, used for handling
  the CPU/hardware optimization, starting from parsing the
  command arguments, to managing the relationship between the CPU baseline
  and dispatch-able features, also generating the required C headers
  and ending with compiling the sources with proper compiler's flags.

  `CCompilerOpt` mainly used as a helper class for `CCompiler`,
  and doesn't provide any runtime detection for the CPU features,
  instead only focuses on the compiler side, but it generates
  abstract C headers that can be used later for the final
  runtime dispatching process.
</pre>
</div>
</content>
</entry>
</feed>
