Commit 2d929656 authored by Radford Neal's avatar Radford Neal

rename --disable-mat-mult-with-BLAS-in-helpers to --disable-BLAS-in-helpers

parent 35e94a0c
......@@ -54,7 +54,7 @@ likely to be useful are as follows:
hyperthreading. It is necessary if your system does not
support the OpenMP facility.
--disable-mat-mult-with-BLAS-in-helpers
--disable-BLAS-in-helpers
Specify this option if the BLAS routines you plan to use are
not thread-safe, and hence should not be run in parallel. The
......
......@@ -300,16 +300,16 @@ fi
AM_CONDITIONAL(WANT_R_FRAMEWORK, [test "x${want_R_framework}" = xyes])
## Allow specification of whether BLAS matrix multiplies are allowed in helpers.
AC_ARG_ENABLE([mat-mult-with-BLAS-in-helpers],
[AS_HELP_STRING([--enable-mat-mult-with-BLAS-in-helpers],[allow %*% with BLAS to be done in helpers @<:@yes@:>@])],
AC_ARG_ENABLE([BLAS-in-helpers],
[AS_HELP_STRING([--enable-BLAS-in-helpers],[allow (some) BLAS calls to be done in helpers @<:@yes@:>@])],
[if test "${enableval}" = no; then
mat_mult_with_BLAS_in_helpers=no
BLAS_in_helpers=no
elif test "${enableval}" = yes; then
mat_mult_with_BLAS_in_helpers=yes
BLAS_in_helpers=yes
else
mat_mult_with_BLAS_in_helpers=yes
BLAS_in_helpers=yes
fi],
[mat_mult_with_BLAS_in_helpers=yes])
[BLAS_in_helpers=yes])
## Allow speciication of the default for mat_mult_with_BLAS
AC_ARG_ENABLE([mat-mult-with-BLAS-by-default],
......@@ -2273,7 +2273,7 @@ if test "${want_memory_profiling}" = yes; then
fi
## Whether matrix multiply with BLAS in helpers allowed
if test "${mat_mult_with_BLAS_in_helpers}" = yes; then
if test "${BLAS_in_helpers}" = yes; then
AC_DEFINE(R_MAT_MULT_WITH_BLAS_IN_HELPERS_OK, 1, [Define if BLAS matrix multiply is thread safe.])
fi
......
......@@ -86,9 +86,10 @@
references on the stack.
}}
\subsection{NEW FEATURES FOR BUILDING, TESTING, AND DEBUGGING}{
These are mostly of interest to developers, not to most users.
\subsection{INSTALLATION, BUILDING, TESTING, AND DEBUGGING}{
\itemize{
\item The \code{--disable-mat-mult-with-BLAS-in-helpers} configuration
option has been renamed as \code{--disable-BLAS-in-helpers}.
\item Setting the environment variable \code{R_ABORT} to any non-null
string will prevent any attempt to produce a stack trace on a
segmentation fault, in favour of instead producing (maybe) an
......
......@@ -3513,11 +3513,11 @@ produce a further slight speed improvement in situations where neither
helper threads nor task merging are useful.
If the BLAS routines used for matrix multiplication are not
thread-safe, the @code{--disable-mat-mult-with-BLAS-in-helpers} option
should be used, to prevent tasks that call the BLAS from being run in
helper threads. This option may also be useful if the BLAS is
multi-threaded and runs inefficiently (even if correctly) when several
BLAS routines are running in parallel.
thread-safe, the @code{--disable-BLAS-in-helpers} option should be
used, to prevent tasks that call the BLAS from being run in helper
threads. This option may also be useful if the BLAS is multi-threaded
and runs inefficiently (even if correctly) when several BLAS routines
are running in parallel.
@node Internationalization support, Configuration variables, Helper threads and task merging, Configuration on a Unix-alike
......
Changes to whether BLAS is used to do matrix multiplies,
to mimic R Core behaviour so far as it makes any sense
at all.
Also renames the --disable-mat-mult-with-BLAS-in-helpers
configuration option to --disable-BLAS-in-helpers.
......@@ -47,9 +47,8 @@ tcrossprod(x, y = NULL)
produce pipelined output, and \code{crossprod} but not
\code{tcrossprod} will take pipelined input for the second operand.
When a BLAS routine is used, the multiplication can be done in a
helper thread (unless this is disabled with
\code{--disable-mat-mult-with-BLAS-in-helpers} when configuring
pqR), but with no pipelining of inputs or output.
helper thread (unless this is disabled with \code{--disable-BLAS-in-helpers}
when configuring pqR), but with no pipelining of inputs or output.
When \code{crossprod} or \code{tcrossprod} is given only one
argument (the second defaulting to be the same as the first), or when the
......
......@@ -46,12 +46,12 @@ x \%*\% y
when configuring pqR.
If the builtin C routines are used when helper threads are enabled,
they will take piplelined input for their second operand, and produce
pipelined output for vector-matrix and matrix-matrix products. Matrix
multiplication with the BLAS routines can also be done in helper threads
(though this can be disabled when configuring pqR with the
\code{--disable-mat-mult-with-BLAS-in-helpers} option),
but with no pipelining of inputs or output.
they will take piplelined input for their second operand, and
produce pipelined output for vector-matrix and matrix-matrix
products. Matrix multiplication with the BLAS routines can also be
done in helper threads (though this can be disabled when configuring
pqR with the \code{--disable-BLAS-in-helpers} option), but with no
pipelining of inputs or output.
Another reason one might wish to use the built-in C routines is that
they guarantee correct behaviour when some elements are \code{NA},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment