Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed error when using common.mk from testsuite. (#768)
Details: - Commit 2db31e0 (#755) inserted logic into common.mk that attempts to preprocess build/detect/android/bionic.h to determine whether the __BIONIC__ macro is defined (in which case -lrt should not be included in LDFLAGS). However, the path to bionic.h was encoded without regard to DIST_PATH, and so utilizing common.mk anywhere that isn't the top- level directory (such as in the testsuite directory) resulted in a compiler error: gcc: error: build/detect/android/bionic.h: No such file or directory gcc: fatal error: no input files compilation terminated. This commit adds a $(DIST_PATH) prefix to the path to bionic.h so that it can be located from other applications' Makefiles that use BLIS's makefile fragments. - (cherry picked from commit fa6a9b2) Set thrcomm timpl_t id inside init functions. (#766) Details: - Previously, the timpl_t id being used when a thrcomm_t is being initialized was set within the bli_thrcomm_init() dispatch function after the timpl_t-specific bli_thrcomm_init_*() function returned. But it just occurred to me that each bli_thrcomm_init_*() function already intrinsically knows its own timpl_t value. This commit shifts the setting of the thrcomm_t.ti field into the corresponding bli_thrcomm_init_*() function for each timpl_t type (e.g. single, openmp, pthreads, hpx). - Removed long-deprecated code dating back nearly 10 years. - Whitespace changes - Comment updates. - (cherry picked from 634e532) Small fixes/improvements to docs/Multithreading.md. (#764) Details: - Added reminders that #include "blis.h" must be added to source files in order to access BLIS API function prototypes. Thanks to Barry Smith for suggesting this improvement. - Fixed pre-existing typos. - CREDITS file update. - (cherry picked from 3cf17b4) CREDITS file update. Details: - Thanks to Igor Zhuravlov for PR #753 (commit 915daaa). - (cherry picked from dbc7981) Fix typos in docs + example code comments. (#753) Details: - Fixed various typos in API documentation in docs/BLIS*API.md and comments in the source code examples within examples/?api/*.c. - (cherry picked from 915daaa) Exclude -lrt on Android with Bionic libraries. (#755) Details: - Added build/detect/android/bionic.h header to test whether the __BIONIC__ cpp macro is defined. - In common.mk, only add -lrt to LDFLAGS when Bionic is not present. - CREDITS file update. - (cherry picked from 2db31e0) Small fixes to support hpx in the testsuite (#759) Details: - Minor changes to test_libblis.c to support hpx. - (cherry picked from 22ad8c1) Auto-detect the RISC-V ABI of the compiler and use -mabi= during RISC-V Build s (#750) Details: - Generate a build error if there is a 32/64-bit mismatch between the RISC-V ABI or architecture and the BLIS configuration selected. - Handle Q, Zicsr, ZiFencei, Zba, Zbb, Zbc, Zbs and Zfh extensions in the RISC-V architecture auto-detection. ZiFencei and Zicsr is not detectable with built-in RISC-V macros right now. - ZiFencei is not important for BLIS because doesn't it have Just-In-Time compilation or self-modifying code, and Zicsr is implied by the floating-point extensions, which are required for good performance in BLIS. - Move RISC-V autodetect header files to build/detect/riscv/. - (cherry picked from c91b41d) Rewrote regen-symbols.sh (gen-libblis-symbols.sh). (#751) Details: - Wrote an alternative to regen-symbols.sh, gen-libblis-symbols.sh, that generates a list of exported symbols from the monolithic blis.h file rather than peeking inside of the shared object via nm. (This new script lives in the 'build' directory and the older script has been retired to build/old.) Special thanks to Devin Matthews for authoring gen-libblis-symbols.sh. - Added a 'symbols' target to the top-level Makefile which will refresh build/libblis-symbols.def, with supporting changes to common.mk. - Updates to build/libblis-symbols.def using the new symbol-generating script. - (cherry picked from a0b04e3) Fix 1m enablement for herk/her2k/syrk/syr2k. (#743) Details: - Ever since 28b0982, herk, her2k, syrk, and syr2k have been implemented in terms of the gemmt expert API. And since the decision of which induced method to use (1m or native) is made *below* the level of the expert API, executing any of {herk,her2k,syrk,syr2k} results in BLIS checking the enablement status for gemmt. - This commit applies a band-aid of sorts to this issue by modifying bli_l3_ind_oper_get_enable() and bli_l3_ind_oper_set_enable() so that any attempts to query or modify the internal enablement status for herk, her2k, syrk, or syr2k instead does so for gemmt. - This solution isn't perfect since, in theory, the user could enable 1m for, say, herk but then disable it for syrk, and then be confused when herk runs via native execution. But we don't anticipate that users modify 1m enablement at the operation level, and so in practice this solution is likely fine for now. - (cherry picked from 89b7863) add nvhpc compiler support (#719) Add detection of the NVIDIA nvhpc compiler (`nvc`) in `configure`, and adjust some warning options in `config.mk`. Currently, no specific options for `nvc` have been added in the relevant configurations so it may not be usable without further tweaks. - (cherry picked from 138de3b)
- Loading branch information