Skip to content

Commit da8af30

Browse files
authored
Merge branch 'OpenMathLib:develop' into dev_rotm_1231
2 parents c2271f2 + a63282a commit da8af30

File tree

5 files changed

+313
-172
lines changed

5 files changed

+313
-172
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,9 @@ dummy :
426426
install :
427427
$(MAKE) -f Makefile.install install
428428

429+
install_tests :
430+
$(MAKE) -f Makefile.install install_tests
431+
429432
clean ::
430433
@for d in $(SUBDIRS_ALL) ; \
431434
do if test -d $$d; then \

Makefile.install

Lines changed: 95 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,13 @@ endif
191191
#Generating OpenBLASConfig.cmake
192192
@echo Generating $(OPENBLAS_CMAKE_CONFIG) in $(DESTDIR)$(OPENBLAS_CMAKE_DIR)
193193
@echo "SET(OpenBLAS_VERSION \"${VERSION}\")" > "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
194-
@echo "file(REAL_PATH \"../../..\" _OpenBLAS_ROOT_DIR BASE_DIRECTORY \$${CMAKE_CURRENT_LIST_DIR} )" > "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
194+
@echo "file(REAL_PATH \"../../..\" _OpenBLAS_ROOT_DIR BASE_DIRECTORY \$${CMAKE_CURRENT_LIST_DIR} )" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
195195
@echo "SET(OpenBLAS_INCLUDE_DIRS \$${_OpenBLAS_ROOT_DIR}/include)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
196196

197197
ifneq ($(NO_SHARED),1)
198198
#ifeq logical or
199199
ifeq ($(OSNAME), $(filter $(OSNAME),Linux FreeBSD NetBSD OpenBSD DragonFly))
200-
@echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX)$(SYMBOLSUFFIX).so)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
200+
@echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/lib/$(LIBPREFIX).so)" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
201201
endif
202202
ifeq ($(OSNAME), $(filter $(OSNAME),WINNT CYGWIN_NT))
203203
@echo "SET(OpenBLAS_LIBRARIES \$${_OpenBLAS_ROOT_DIR}/bin/$(LIBDLLNAME))" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG)"
@@ -227,3 +227,96 @@ endif
227227
@echo " endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
228228
@echo "endif ()" >> "$(DESTDIR)$(OPENBLAS_CMAKE_DIR)/$(OPENBLAS_CMAKE_CONFIG_VERSION)"
229229
@echo Install OK!
230+
231+
install_tests : lib.grd
232+
ifneq ($(ONLY_CBLAS), 1)
233+
@install -m 666 utest/openblas_utest $(DESTDIR)$(OPENBLAS_BINARY_DIR)
234+
@install -m 666 utest/openblas_utest_ext $(DESTDIR)$(OPENBLAS_BINARY_DIR)
235+
ifeq ($(NOFORTRAN), $(filter 0,$(NOFORTRAN)))
236+
ifndef NO_FBLAS
237+
ifeq ($(BUILD_BFLOAT16),1)
238+
@install -m 666 test/test_sbgemm $(DESTDIR)$(OPENBLAS_BINARY_DIR)
239+
endif
240+
ifeq ($(BUILD_SINGLE),1)
241+
@install -m 666 test/sblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
242+
@install -m 666 test/sblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
243+
@install -m 666 test/sblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
244+
@install -m 666 test/sblat2.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
245+
@install -m 666 test/sblat3.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
246+
endif
247+
ifeq ($(BUILD_DOUBLE),1)
248+
@install -m 666 test/dblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
249+
@install -m 666 test/dblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
250+
@install -m 666 test/dblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
251+
@install -m 666 test/dblat2.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
252+
@install -m 666 test/dblat3.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
253+
endif
254+
ifeq ($(BUILD_COMPLEX),1)
255+
@install -m 666 test/cblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
256+
@install -m 666 test/cblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
257+
@install -m 666 test/cblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
258+
@install -m 666 test/cblat2.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
259+
@install -m 666 test/cblat3.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
260+
ifeq ($(ARCH), filter($(ARCH), x86 x86_64 ia64 MIPS))
261+
@install -m 666 test/cblat3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
262+
@install -m 666 test/cblat3_3m.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
263+
endif
264+
endif
265+
ifeq ($(BUILD_COMPLEX16),1)
266+
@install -m 666 test/zblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
267+
@install -m 666 test/zblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
268+
@install -m 666 test/zblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
269+
@install -m 666 test/zblat2.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
270+
@install -m 666 test/zblat3.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
271+
ifeq ($(ARCH), filter($(ARCH), x86 x86_64 ia64 MIPS))
272+
@install -m 666 test/zblat3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
273+
@install -m 666 test/zblat3_3m.dat $(DESTDIR)$(OPENBLAS_BINARY_DIR)
274+
endif
275+
endif
276+
endif
277+
endif
278+
ifneq ($(ONLY_CBLAS), 1)
279+
ifeq ($(BUILD_SINGLE),1)
280+
@install -m 666 ctest/xscblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
281+
@install -m 666 ctest/xscblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
282+
@install -m 666 ctest/xscblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
283+
@install -m 666 ctest/sin2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
284+
@install -m 666 ctest/sin3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
285+
endif
286+
ifeq ($(BUILD_DOUBLE),1)
287+
@install -m 666 ctest/xdcblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
288+
@install -m 666 ctest/xdcblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
289+
@install -m 666 ctest/xdcblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
290+
@install -m 666 ctest/din2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
291+
@install -m 666 ctest/din3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
292+
endif
293+
ifeq ($(BUILD_COMPLEX),1)
294+
@install -m 666 ctest/xccblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
295+
@install -m 666 ctest/xccblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
296+
@install -m 666 ctest/xccblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
297+
@install -m 666 ctest/cin2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
298+
@install -m 666 ctest/cin3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
299+
ifeq ($(ARCH), filter($(ARCH), x86 x86_64 ia64 MIPS))
300+
@install -m 666 ctest/xccblat3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
301+
@install -m 666 ctest/cin3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
302+
endif
303+
endif
304+
ifeq ($(BUILD_COMPLEX16),1)
305+
@install -m 666 ctest/xzcblat1 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
306+
@install -m 666 ctest/xzcblat2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
307+
@install -m 666 ctest/xzcblat3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
308+
@install -m 666 ctest/zin2 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
309+
@install -m 666 ctest/zin3 $(DESTDIR)$(OPENBLAS_BINARY_DIR)
310+
ifeq ($(ARCH), filter($(ARCH), x86 x86_64 ia64 MIPS))
311+
@install -m 666 ctest/xzcblat3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
312+
@install -m 666 ctest/zin3_3m $(DESTDIR)$(OPENBLAS_BINARY_DIR)
313+
endif
314+
endif
315+
316+
endif
317+
ifeq ($(CPP_THREAD_SAFETY_TEST), 1)
318+
@install -m 666 cpp_thread_test/dgemm_tester $(DESTDIR)$(OPENBLAS_BINARY_DIR)
319+
@install -m 666 cpp_thread_test/dgemv_tester $(DESTDIR)$(OPENBLAS_BINARY_DIR)
320+
endif
321+
endif
322+

docs/faq.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ In practice, the values are derived by experimentation to yield the block sizes
5151

5252
### <a name="reportbug"></a>How can I report a bug?
5353

54-
Please file an issue at this [issue page](https://github.com/xianyi/OpenBLAS/issues) or send mail to the [OpenBLAS mailing list](https://groups.google.com/forum/#!forum/openblas-users).
54+
Please file an issue at this [issue page](https://github.com/OpenMathLib/OpenBLAS/issues) or send mail to the [OpenBLAS mailing list](https://groups.google.com/forum/#!forum/openblas-users).
5555

56-
Please provide the following information: CPU, OS, compiler, and OpenBLAS compiling flags (Makefile.rule). In addition, please describe how to reproduce this bug.
56+
Please provide the following information: CPU, OS, compiler, OpenBLAS version and any compiling flags you used (Makefile.rule). In addition, please describe how to reproduce this bug.
5757

5858
### <a name="publication"></a>How to reference OpenBLAS.
5959

@@ -105,7 +105,7 @@ Please read [this page](install.md#visual-studio).
105105

106106
Zaheer has fixed this bug. You can now use the structure instead of C99 complex numbers. Please read [this issue page](http://github.com/xianyi/OpenBLAS/issues/95) for details.
107107

108-
[This issue](https://github.com/xianyi/OpenBLAS/issues/305) is for using LAPACKE in Visual Studio.
108+
[This issue](https://github.com/OpenMathLib/OpenBLAS/issues/305) is for using LAPACKE in Visual Studio.
109109

110110
### <a name="Linux_SEGFAULT"></a>I get a SEGFAULT with multi-threading on Linux. What's wrong?
111111

@@ -134,6 +134,13 @@ Background: OpenBLAS implements optimized versions of some LAPACK functions, so
134134
Some of the LAPACK tests, notably in xeigtstz, try to allocate around 10MB on the stack. You may need to use
135135
`ulimit -s` to change the default limits on your system to allow this.
136136

137+
### <a name="lapack_test"></a>My build worked fine and passed the BLAS tests, but running `make lapack-test` ends with a number of errors in the summary report
138+
139+
The LAPACK tests were primarily created to test the validity of the Reference-LAPACK implementation, which is implemented in unoptimized, single-threaded Fortran code. This makes it very sensitive to small numerical deviations that can result from the use of specialized cpu instructions that combine multiplications and additions without intermediate rounding and storing to memory (FMA), or from changing the order of mathematical operations by splitting an original problem workload into smaller tasks that are solved in parallel. As a result, you may encounter a small number of errors in the "numerical" column of
140+
the summary table at the end of the `make lapack-test` run - this is usually nothing to worry about, and the exact number and distribution of errors among the
141+
four data types will often vary with the optimization flags you supplied to the compiler, or the cpu model for which you built OpenBLAS. Sporadic errors in the column labeled `other` are normally the sign of failed convergence of iterative diagonalizations for the same reasons just mentioned. A more detailed error report is stored in the file testing_results.txt - this should be consulted in case of doubt. Care should be taken if you encounter numerical errors in the hundreds, or `other` errors accompanied by the LAPACK error message "on entry to function_name parameter X had an illegal value" that signals a problem with argument passing between individual functions.
142+
(See also [this issue](https://github.com/OpenMathLib/OpenBLAS/issues/4032) in the issue tracker on github for additional discussion, examples and links)
143+
137144
### <a name="no_affinity"></a>How could I disable OpenBLAS threading affinity on runtime?
138145

139146
You can define the OPENBLAS_MAIN_FREE or GOTOBLAS_MAIN_FREE environment variable to disable threading affinity on runtime. For example, before the running,

0 commit comments

Comments
 (0)