diff --git a/cblas.h b/cblas.h index ee8bf08b2..e9664fe79 100644 --- a/cblas.h +++ b/cblas.h @@ -13,6 +13,9 @@ extern "C" { void openblas_set_num_threads(int num_threads); void goto_set_num_threads(int num_threads); +/*Get the build configure on runtime.*/ +char* openblas_get_config(void); + #define CBLAS_INDEX size_t enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102}; diff --git a/driver/others/Makefile b/driver/others/Makefile index a1c7a504e..c449ec6c6 100644 --- a/driver/others/Makefile +++ b/driver/others/Makefile @@ -1,7 +1,7 @@ TOPDIR = ../.. include ../../Makefile.system -COMMONOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX) openblas_set_num_threads.$(SUFFIX) +COMMONOBJS = memory.$(SUFFIX) xerbla.$(SUFFIX) c_abs.$(SUFFIX) z_abs.$(SUFFIX) openblas_set_num_threads.$(SUFFIX) openblas_get_config.$(SUFFIX) COMMONOBJS += slamch.$(SUFFIX) slamc3.$(SUFFIX) dlamch.$(SUFFIX) dlamc3.$(SUFFIX) @@ -103,6 +103,9 @@ blas_server.$(SUFFIX) : $(BLAS_SERVER) ../../common.h ../../common_thread.h ../. openblas_set_num_threads.$(SUFFIX) : openblas_set_num_threads.c $(CC) $(CFLAGS) -c $< -o $(@F) +openblas_get_config.$(SUFFIX) : openblas_get_config.c + $(CC) $(CFLAGS) -c $< -o $(@F) + blasL1thread.$(SUFFIX) : blas_l1_thread.c ../../common.h ../../common_thread.h $(CC) $(CFLAGS) -c $< -o $(@F) diff --git a/driver/others/openblas_get_config.c b/driver/others/openblas_get_config.c new file mode 100644 index 000000000..581ab1a43 --- /dev/null +++ b/driver/others/openblas_get_config.c @@ -0,0 +1,59 @@ +/***************************************************************************** +Copyright (c) 2011,2012 Lab of Parallel Software and Computational Science,ISCAS +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + 3. Neither the name of the ISCAS nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +**********************************************************************************/ + +#include "common.h" + +static char* openblas_config_str="" +#ifdef USE64BITINT + "USE64BITINT " +#endif +#ifdef NO_CBLAS + "NO_CBLAS " +#endif +#ifdef NO_LAPACK + "NO_LAPACK " +#endif +#ifdef NO_LAPACKE + "NO_LAPACKE " +#endif +#ifdef DYNAMIC_ARCH + "DYNAMIC_ARCH " +#endif +#ifdef NO_AFFINITY + "NO_AFFINITY " +#endif + ; + +char* CNAME() { + return openblas_config_str; +} + diff --git a/exports/gensymbol b/exports/gensymbol index c492eefb5..04cbd7d84 100644 --- a/exports/gensymbol +++ b/exports/gensymbol @@ -74,6 +74,7 @@ @misc_no_underscore_objs = ( openblas_set_num_threads, goto_set_num_threads, + openblas_get_config, ); @misc_underscore_objs = (