1flexiblas(1)                 The FlexiBLAS Library                flexiblas(1)
2
3
4

NAME

6       flexiblas - the FlexiBLAS administration tool
7

SYNOPSIS

9       flexiblas [options] command [command-options]
10
11       flexiblas64 [options] command [command-options]
12

DESCRIPTION

14       The flexiblas tool is a command line utility shipped with the FlexiBLAS
15       library. It is used to configure the global and the  local  flexiblasrc
16       file.  Its main purpose it selecting the default BLAS backend used with
17       FlexiBLAS and other runtime specific options. FlexiBLAS uses up to four
18       locations  to search for its configuration, a system-wide configuration
19       file, a per-user configuration file, a per-host configuration file, and
20       one  configuration  file  defined  by  an  environment  variable FLEXI‐
21       BLAS_CONFIG. The configuration files are evaluated in this order and  a
22       later loaded one overwrites the settings of a previously loaded one.
23
24       The  flexiblas64  tool is used for the 64-bit integer variant of Flexi‐
25       BLAS.
26
27       Furthermore, it can be used to add or remove  BLAS  backends  form  the
28       configuration files.
29
30
31   Hooks
32       FlexiBLAS supports so called hooks to modify/extent/change the behavior
33       of BLAS and LAPACK functions. This can be used for profiling, automatic
34       offloadlind,  and  other  debuging  purposes.  The hooks are configured
35       either via the FLEXIBLAS_HOOK environment  variable  or  the  flexiblas
36       tool.  The  FLEXIBLAS_HOOK  variable  contains a colon separate list of
37       hooks or shared libraries containing the hook. The hooks are loaded  in
38       the order they are specified. If the hook_enabled setting in a configu‐
39       ration file is set but empty all hooks are disabled for this configura‐
40       tion  file.  In this way the per host setting can disable the user set‐
41       tings. Using the hook disableall  command  the  hook_enabled  entry  is
42       removed and thus no hook settings are in the configuration.
43
44
45   Configuration Priority
46       FlexiBLAS  uses serveral configuration paths to select the BLAS backend
47       or enable and disable other functionality. The configuration is read in
48       the  following order, thereby previous read information is overwritten.
49       That means that last read configuration has the highest priority.
50
51       1. /etc/flexiblasrc - The system wide configuration file, hooks can not
52       be configured here.
53
54       2.  /etc/flexiblasrc.d/*.conf  - Additional system wide configurations,
55       read only.
56
57       3. ${HOME}/flexiblasrc - The user's configuration file.
58
59       4. ${HOME}/flexiblasrc.$(hostname) - The user's configuration file on a
60       host, useful for NFS homedirectories.
61
62       5.  FLEXIBLAS_CONFIG  - The environment variable is used to specified a
63       separate configuration file, e.g. per project.
64
65       6. FLEXIBLAS, FLEXIBLAS_HOOK - Select a BLAS implementation or  a  hook
66       without changing the config.
67
68
69   64-bit Integers
70       If  FlexiBLAS  is compiled with 64 bit intergers, flexiblas is replaced
71       by flexiblas64 and FLEXIBLAS is replaced by FLEXIBLAS64 in all names of
72       configuration files, environment variable, etc.
73
74

OPTIONS

76   Commands
77       help   Print information about the tool and its usage.
78
79       print  Print  the  whole  BLAS  related  configuration including search
80              paths, default settings, etc.
81
82       list   List all available BLAS libraries from the configuration files.
83
84       default BLASNAME
85              Sets the default BLAS  backend  in  the  selected  configuration
86              file.
87
88       default
89              Removes  the  default  setting  from  the selected configuration
90              file.
91
92       add BLASNAME sharedlibrary.so ["comment string"]
93              Add a new BLAS backend called "BLASNAME" to the selected config‐
94              uration file. This will create a section like
95
96                [BLASNAME]
97                library=sharedlibrary.so
98                comment="comment string"
99
100              in  the  selected  configuration  file.  The  comment  string is
101              optional.
102
103       remove NAME
104              Remove a BLAS backed called "NAME" from the selected  configura‐
105              tion file.
106
107       set property [value]
108              Set  a  property  in the configuration file. If the value is not
109              given the property is reset to its default. The available  prop‐
110              erties are listed below.
111
112
113   Hook commands:
114       Hooks  are  additional  plugins that integrate in the call of a BLAS or
115       LAPACK function. They are used for debugging or profiling purpose.
116
117
118       hook list
119              List all available hooks. The hooks are automatically  found  in
120              the FlexiBLAS library directories.
121
122       hook show hook-name
123              Show  details about a specific hook. This includes the name, the
124              authors, a short  description,  and  the  list  of  configurable
125              options.
126
127       hook enable hook-name
128              Enable  a  hook.  If more than one hook is enabled they are exe‐
129              cuted in the order they got enabled.
130
131       hook disable hook-name
132              Disable a hook.
133
134       hook disableall
135              Disable all hooks in a configuration and remove the setting from
136              the configuration. This is necessary if, i.e., hooks are enabled
137              in the user configuration and the host configuration file has an
138              empty  hook_enabled  field.  In this case the FlexiBLAS does not
139              use a hook since the host configuration overwrites the user con‐
140              figuration.   Then   hook  disableall  is  used  to  remove  the
141              hook_enabled from the host configuration.
142
143       hook enabled
144              Show all enabled hooks in the configuration files.
145
146       hook active
147              Show the currently active hooks  and  from  which  configuration
148              file they are loaded.
149
150       hook set hook-name option-name value
151              Set  an  option  for  a  hook  to the given value. All available
152              options for a hook can be shown  with  the  hook  show  command.
153              0ook-name option-name Unset an option for a hook.
154
155
156   General Options:
157       -u, --user
158              Edit  the  user's  flexiblasrc  configuration  (default options,
159              except of executing as root).
160
161       -g, --global
162              Edit the global flexiblasrc configuration (default  in  case  of
163              executing as root).
164
165       -H, --host
166              Edit the host configuration file.
167
168       -E, --environment
169              Edit  the  configuration  file given by the environment variable
170              FLEXIBLAS_CONFIG.
171
172       -p, --pipe
173              Make the output of some commands, like list pipe  compatible  to
174              use them in scripts.
175
176       -h, --help
177              Print this information and exit.
178
179       -v, --version
180              Print the versionformation and exit.
181
182
183   Properties
184       verbose integer
185              Change  the  verbosity level of FlexiBLAS. The default verbosity
186              level is 0 which only  displays  critical  errors.  If  a  level
187              larger  than   is  specified,  FlexiBLAS will produce many debug
188              information on stderr.
189
190       nolapack integer
191              If the value is non zero, FlexiBLAS does  not  load  the  LAPACK
192              functions  from  the  backend. That means that only the internal
193              LAPACK routines are used.
194

FILES

196       /etc/flexiblasrc
197              System-wide FlexiBLAS configuration file.
198
199       /etc/flexiblasrc.d/*.conf
200              Additional system-wide configuration files. Read-only, Installed
201              by BLAS library to be included in FlexiBLAS.
202
203       ~/.flexiblasrc
204              User FlexiBLAS configuration file.
205
206       ~/.flexiblasrc.$(hostname)
207              User FlexiBLAS configuration file for a specific host.
208
209

ENVIRONMENT VARIABLES

211       FLEXIBLAS_CONFIG
212              Using  the  FLEXIBLAS_CONFIG  environment variable an additional
213              configuration can be set. This can be used for per-project  set‐
214              tings.
215
216       FLEXIBLAS
217              Select  a  BLAS  implementation  ignoring the configuration set‐
218              tings. If the content of the variable is  a  path  to  a  shared
219              object containing a BLAS library, this is used as BLAS implemen‐
220              tation. It is not required that this BLAS library is  configured
221              in any of the configuration files.
222
223       FLEXIBLAS_HOOK
224              The  FLEXIBLAS_HOOK  variable contains a colon separated list of
225              hooks which should be loaded. If a hook is a path  to  a  shared
226              object  instead  of a name of an available hook, FlexiBLAS tries
227              to  load this library as a hook,
228
229       FLEXIBLAS_LIBRARY_PATH
230              The FLEXIBLAS_LIBRARY_PATH variable contains a  colon  separated
231              list  of  addtional  search  paths for FlexiBLAS.  The paths are
232              used to find BLAS implementations and hooks.
233
234

REPORTING BUGS

236       The current information about the developers and reporting bugs can  be
237       found on the FlexiBLAS homepage.
238
239       FlexiBLAS   Homepage:  <http://www.mpi-magdeburg.mpg.de/projects/flexi
240       blas>
241

AUTHORS

243        Martin Koehler, Jens Saak
244

SEE ALSO

246        M. Koehler and J. Saak, FlexiBLAS - A flexible BLAS library with runtime exchangeable backends,
247        LAPACK Working Note 284, 2013
248
249
251       Copyright (C) 2013-2020 Martin Koehler
252

LICENSE

254       License     GPLv3+:     GNU     GPL     version     3     or      later
255       <http://gnu.org/licenses/gpl.html>.   This  is  free  software: you are
256       free to change and redistribute it.   There  is  NO  WARRANTY,  to  the
257       extent permitted by law.
258
259
260
261
262M. Koehler                         2013-2020                      flexiblas(1)
Impressum