summaryrefslogtreecommitdiff
path: root/numpy/distutils/ccompiler_opt.py
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Raise C++ standard to C++17Sayed Adel2023-04-041-10/+1
|
* Merge pull request #22982 from yamadafuyuka/add_fujitsuccompiler_and_SSL2Sebastian Berg2023-03-061-3/+10
|\ | | | | ENH: add support for fujitsu C/C++ compiler and SSL2 to numpy.
| * ENH: add support for fujitsu C/C++ compiler and SSL2 to numpy.yamadafuyuka2023-03-021-3/+10
| |
* | Merge pull request #22051 from r-devulap/spr-supportMatti Picus2023-02-191-3/+13
|\ \ | |/ |/| BLD: Add compile and runtime checks for AVX512_SPR
| * BLD: Add compile and runtime checks for AVX512FP16Raghuveer Devulapalli2023-02-021-3/+13
| |
* | Fix typos found by copdespellDimitri Papadopoulos2023-02-111-2/+2
|/
* ENH: Detect CPU features on FreeBSD/powerpc64*pkubaj2022-12-301-2/+6
| | | | | | | | | | 1. FreeBSD uses elf_aux_info() instead of getauxval. 2. Switch to using compiler macros for detecting POWER platform FreeBSD sets the machine name (what uname -m prints) on all powerpc* to just powerpc. To identify actual architecture, uname -p should be used, but this is not present in uname() function. Thus, the only way to correctly detect platform is to use what uname prints and also check compiler defines.
* MAINT: change subprocess arguments from Python>=3.7Mike Taves2022-10-271-1/+1
|
* BLD, SIMD: Fix detecting armhfSayed Adel2022-06-091-21/+46
| | | | | | Strictly detects armhf via compiler definitions, to avoid building neon objects on arch armel even when the compiler supports armv7 features on it.
* Merge pull request #21306 from serge-sans-paille/feature/syndicate-cxxflagsMatti Picus2022-04-081-0/+8
|\ | | | | Introduce numpy.core.setup_common.NPY_CXX_FLAGS
| * Introduce numpy.core.setup_common.NPY_CXX_FLAGSserge-sans-paille2022-04-081-0/+8
| | | | | | | | | | | | | | | | | | Group all C++ flags in one location. This avoids redundancy and makes sure we test the flags we use, and use the flags we test. Fix #21302
* | Add space after argument nameOscar Gustafsson2022-04-031-17/+17
|/
* Merge pull request #20991 from r-devulap/exp-log-svmlMatti Picus2022-03-231-1/+1
|\ | | | | ENH: Use SVML for f64 exp and log
| * BUILD: Disable MMX registers when building with -mavx512fRaghuveer Devulapalli2022-02-281-1/+1
| | | | | | | | | | | | Work around for a bug in gcc compiler. When using several kmask variables __mmask16/__mmask8, the compiler sometimes uses %mmx registers to save them on to the stack which corrupts the x87 stack.
* | road-to-cxx: x86-qsort.dispatch.c.src -> x86-qsort.dispatch.cppserge-sans-paille2022-02-211-0/+2
|/ | | | | | | Actual c++ification. Also fix a slight bug in numpy/distutils/ccompiler_opt.py when intermediate directory is missing.
* DOC: improper doc syntax (markdown and imbalanced ticks). (#20944)Matthias Bussonnier2022-01-301-1/+1
| | | | | | | | | | | | | | | | | | Here are two modifications: The first one is the inclusion of markdown fence blocks in the middle of RST. While this is not really a problem for current documentation as this is a private function, it still makes other RST parser choke on this. In particular this is seen as a tile as it is a text line followed by a line of only backticks, and that makes my new project to show better docstrings in Jupyter fails. I can locally exclude this function, but while not fix it to show good examples ? Second, while grepping for triple backticks I found that there are a stray one in another place.
* STY: Fix linter issueRafael Cardoso Fernandes Sousa2022-01-141-1/+2
|
* ENH: Add CPU feature detection for VSX4 (Power10)Rafael Cardoso Fernandes Sousa2022-01-131-0/+6
|
* BUG, DIST: fix normalize IBMZ features flagsSayed Adel2021-12-151-3/+9
| | | | | | | | | | | | | | | | | | | | | | The normal behavior is to erase any flag that starts with `-m[a-z0-9\-\.]` when flag `-march` or `-mcpu` specified. for example: cc_normalize_flags([ '-msse', '-msse2', '-msse3', '-mssse3', '-march=core-avx2' ]) should be normalized to: ['-march=core-avx2'] but in the case of `s390x`, on GCC flag `-march=arch[0-9]` doesn't implies flag `-mzvector` which is required to enable zvector api. for example: cc_normalize_flags([ '-mzvector', '-march=arch11', '-march=arch12', '-march=arch13'] ) should be normalized to: ['-mzvector', '-march=arch13'] instead of: ['-march=arch13']
* comment removedPradipta Ghosh2021-12-141-1/+1
|
* addressed review commentsPradipta Ghosh2021-12-141-7/+3
|
* Fix lint issuesPradipta Ghosh2021-12-141-7/+7
|
* Extending CPU feature detection framework to support IBM Z SIMDPradipta Ghosh2021-12-141-1/+32
| | | | | | | | | | We would like to extend CPU feature detection infrastructure for IBM Z CPU features. Eventually It will help to add and enable Z specific SIMD builtins and instructions. As part of the PR, we have extended ccompiler_opt.py, npy_cpu_features.c.src, npy_cpu_features.h, other files for Z CPU feature detection and added test files for VX/VXE/VXE2 in distutils/checks.
* ENH: provide a convenience function to replace npy_load_module (#20395)Matti Picus2021-11-191-2/+2
| | | | | | | `load_module` is deprecated since python 3.4 and will be removed in python 3.12. Use `exec_module` instead. Provide a convenience function in `distutils.misc_utils` instead of `npy_load_module` from `compat.py3k`.
* Merge pull request #20353 from seiko2plus/issue_20335Ralf Gommers2021-11-141-2/+2
|\ | | | | BUG, DIST: Print os error message when the executable not exist
| * BUG, DIST: Print os error message when the executable not existSayed Adel2021-11-141-2/+2
| | | | | | | | | | | | this patch is really important since most of the users aren't able to determine the build error when the toolchain or the built environment missing executable files of compiler, linker, assembler, etc.
* | Do not position 'cxx=-std=c++11' as a default compiler flagserge-sans-paille2021-11-101-5/+0
|/ | | | | | | Otherwise it gets used for C source too, which is either useless or invalid (for clang(family compiler) Fix #20335
* BUG: Don't pass /arch:SSE2 to MSVC when targeting x64 (#20190)Tom Tan2021-10-251-2/+2
| | | | | | | | | * Don't pass /arch:SSE2 to MSVC link targeting x64 * Fix test * Fix format * Fix one more test
* Merge pull request #20071 from alessiamarcolini/refactorCharles Harris2021-10-221-3/+10
|\ | | | | MAINT: Remove unused imports and remove duplicated tests
| * MAINT: separate multiple imports in multiple linesAlessia Marcolini2021-10-081-2/+10
| |
| * MAINT: remove unused importsAlessia Marcolini2021-10-081-2/+1
| |
* | [demo] how-to replacing numpy custom generation engine by raw C++serge-sans-paille2021-10-221-5/+11
|/ | | | | This is just a technical prototype to measure and discuss the impact and implication of moving to C++ for kernel code generation.
* MAINT: revise OSError aliases (IOError, EnvironmentError)Mike Taves2021-09-021-2/+2
|
* BLD, SIMD: Fix testing extra checks when `-Werror` isn't applicable for Clang.Sayed Adel2021-08-111-1/+6
| | | | | | | In certain cases `-Werror` gets skipped during the availability test due to "unused arguments" warnings. To solve the issue, `-Werror-implicit-function-declaration` was added as a secondary flag, which is enough to guarantee the sanity of the testing process when it comes to testing the availability of certain intrinsics.
* BUG, SIMD: Fix detect host/native CPU features on ICC during compile-timeSayed Adel2021-05-261-21/+36
| | | | | | | | 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.
* MAINT: Python3 classes do not need to inherit from objectMike Taves2021-05-191-1/+1
|
* BLD, BUG: Fix bdist_wheel duplicate buildingSayed Adel2021-05-051-16/+25
| | | | | | | | | The bug can occur only if the build option `build` was passed before the option `bdist_wheel`. You may still realize a duplicate printing for the compiler optimization report in the build log, which is normal due to multiple calling of command `build` by setuptools.
* ENH, SIMD: Add support for dispatching C++ sourcesSayed Adel2021-04-221-7/+15
| | | | | Same usage as the C dispatch-able sources except files extensions should be `.dispatcher.cpp` or `.dispatch.cxx` rather than `.dispatch.c`
* BLD: Add extra check for AVX512DQ mask conversionsSayed Adel2021-01-051-1/+1
|
* MAINT, BLD: few tweaks in the comments and log messageSayed Adel2021-01-031-4/+4
| | | | | | Co-authored-by: Matti Picus <matti.picus@gmail.com> Co-authored-by: h-vetinari <h.vetinari@gmx.com> Co-authored-by: Derek Homeier <dhomeie@gwdg.de>
* BUG, BLD: Generate the main dispatcher config header into the build dirSayed Adel2021-01-031-15/+17
| | | | | | | | | | The new path becomes `build/src.*/numpy/distutils/include/npy_cpu_dispatch_config.h` instead of `numpy/core/src/common/_cpu_dispatch.h`. The new path allows other projects to re-use the CPU dispatcher once we decide to expose the following headers: - `numpy/core/src/common/npy_cpu_dispatch.h` - `numpy/core/src/common/npy_cpu_features.h`
* MAINT: regex char class improveTyler Reddy2020-12-281-1/+1
| | | | | | | | | | | | | * replace superfluous single-character regex character classes with their literal string equivalents; this avoids the overhead associated with a character class when there's only a single character enclosed (so there's no benefit to the class overhead) * for more information see: Chapter 6 of: Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O’Reilly Media, 2009.
* BLD, MAINT: add platform info to the final optimization reportSayed Adel2020-12-201-10/+12
|
* BLD, BUG: Fix detecting aarch64 on macOSSayed Adel2020-12-201-74/+70
| | | | Co-authored-by: h-vetinari <h.vetinari@gmx.com>
* BLD, SIMD: Add check for inline ASM VSX supportSayed Adel2020-11-171-1/+1
|
* BUG, BLD: fix multi-target name in `CCompilerOpt`'s reportSayed Adel2020-10-271-4/+3
|
* Merge pull request #17250 from albertvillanova/fix-docstringCharles Harris2020-09-101-1/+1
|\ | | | | DOC: Fix docstring cross-referencing
| * Fix docstring cross-referencingAlbert Villanova del Moral2020-09-041-1/+1
| |
* | DIST: fix minor grammar errors in CCompilerOpt docstring(extra_checks)Sayed Adel2020-09-031-7/+7
| | | | | | Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
* | BLD: Check for reduce intrinsics and AVX512BW mask operationsSayed Adel2020-08-261-10/+82
|/ | | | | | | | - Extending Distutils::CompilerOpt to allow adding extra separate test cases related to a certain CPU feature without affecting its availability. - Add test cases for reduce intrinsics and AVX512BW mask operations, they can be reached through C #defentions NPY_HAVE_AVX512BW_MASK and NPY_HAVE_AVX512F_REDUCE.