|
Prev | Next | whats_new_11 |
AD< AD<double> >
argument, whereby the corresponding AD<double> operation sequence
depended on the value of the argument to the abs function.
AD<Base>
list of
available functions.
In addition, add the
sign
function to the list of
base type requirements
.
cppad/cppad.hpp.
This has been fixed.
SizeVector,
NumberVector,
ADNumber, and
ADVector,
were in the global namespace and this was causing warnings
about the shadowing of these declarations.
The
cppad_ipopt namespace
was created to avoid these problems.
The simplest way to make old cppad_ipopt_nlp
code work with this
change is to use the command
using namespace cppad_ipopt;
team_start to team_create
and team_stop to team_destroy
.
NDEBUG mentions to include link to
NDEBUG
.
multi_thread.cpp to thread_test.cpp
and fix its running
instructions.
boost_dir
for
team_bthread.cpp
with out using boost vectors.
sum_i_inv.cpp to harmonic.cpp
.
test_time
to the nearest integer.
This has been fixed.
test_time
(it used to always run at least two).
sum_i_inv_time.cpp and multi_newton.cpp
routines were calling the test an extra time at the end to check for
correctness.
The results of the last test are now cached and used for the correctness
test so that an extra call is not necessary (to make the tests run faster
when only a few repetitions are necessary).
double instead of a size_t.
The use it for the timing tests in
sum_i_inv_time.cpp and multi_newton_time
.
test_time
as a command line argument
to the multi-threading sum_i_inv
and multi_newton
timing tests.
thread_team.hpp to team_thread.hpp
and do
the same for all other names that ended in _team; e.g.,
team_openmp.cpp
.
sum_i_inv.cpp results were failing
when mega_sum was large.
This check has been modified to include a correction for
mega_sum
.
branches/thread:
openmp to example/multi_thread/openmp.
and create example/multi_thread/bthread, multi_thread/pthread
with similar tests.
multi_thread directory
and threading system specific code in
example/multi_thread/threading
for
threading
equal to openmp, bthread,
and pthread.
bug/optimize.sh file (no longer a bug).
arc_tan.cpp
utility that can be used by multiple multi-threading tests.
make test
would run the tests for the current directory.
sum_i_inv.cpp and multi_newton.cpp
so they run
using Boost threads and pthreads (as well as OpenMP threads).
g++ version 4.6.1 20110908.
pthread library does not include the
pthread_barrier_wait function; i.e., is not compliant with
the IEEE Std 1003.1, 2004 Edition for pthread.
This caused the pthread_simple_ad.cpp to fail to compile on the MAC.
This has been fixed by not compiling the pthread examples
unless pthread_barrier_wait is present.
retape(k)
is false.
bthread_simple_ad.cpp.
parallel_setup.
bthread_simple_ad.cpp example.
pthread_simple_ad.cpp,
including avoiding a Bug in Cygwin
.
openmp/run.cpp was not setting
the number of threads for the one thread case (so dynamic thread adjustment was
used). This has been fixed.
example/example.vcproj file and a attempt was made
to link to missing OpenMP routines (this has been fixed).
In addition,
some Microsoft compiler warning have been fixed; see the examples and tests
in the Windows install instructions.
CPPAD_MAX_NUM_THREAD
was being set to 2 when _OPENMP was not defined.
This has been fixed and
CPPAD_MAX_NUM_THREADS
has been documented and is now part of the CppAD API.
pthread_simple_ad.cpp test failed under cygwin.
This was because the previous test openmp_ad.cpp was
set up calls to OpenMP routines that were still in effect
when pthread/simple_ad ran.
This has been fixed by making
num_threads == 1
a special case in
parallel_setup
.
https://projects.coin-or.org/svn/CppAD/branches/pthread
These changes are described below under the headings
08-21
through
08-31
.
sum_i_inv_time.cpp test from
openmp/run.sh to openmp/run.cpp.
--with-openmp to
OPENMP_FLAGS=openmp_flags
configure
command line argument.
openmp/run.cpp program
and move the openmp_multi_newton.cpp test from
openmp/run.sh to openmp/run.cpp.
This uses configure
information for building the tests.
--with-openmp configure
command line argument.
openmp/multi_newton.hpp to
openmp/newton_method.hpp and
openmp/multi_newton.cpp to
openmp/newton_example.cpp.
pthread_simple_ad.cpp example that does AD using the
pthread library.
In addition, fix some problems in openmp_simple_ad.cpp
openmp/example_a11c.cpp to
example/a11c_openmp.cpp
.
openmp/parallel_ad.cpp to
openmp_simple_ad.cpp.
omp_,
and change all thread_alloc
section names to begin with new_.
openmp_simple_ad.cpp.
These OpenMP examples were originally in the openmp directory,
and have been moved, and modified to conform, to the normal example directory.
https://projects.coin-or.org/svn/CppAD/branches/base_require
These changes are described below under the headings
08-04
through
08-10
.
s
in
f.Forward(0, x, s)
See zero order forward mode
and PrintFor
.
Base
type requirements.
epsilon to AD types.
abs_geq to the requirements
for a user defined
Base
type.
optimize
and hence the zero order forward mode results may not be exactly the same.)
AD<Base>
arguments
and a non-standard
Base
type.
nan print because it results in false for all comparisons.
PrintFor(text, y, z)
which only prints when
z <= 0
.
This is useful for error reporting during forward mode; i.e.,
reporting when the argument to the log function is not valid.
get_max_num_threads were created.
User's will need to replace calls to
max_num_threads
by calls to set_max_num_threads.
example and test_more subdirectory
project files.
tan and tanh atomic
operations; see tan_forward
and tan_reverse
.
tan and tanh CppAD atomic operations.
k
,
were not passed into the old_atomic
forward
callback function.
Tan and Tanh.
parallel_ad.cpp from example directory
to openmp directory (and convert it from a function to a program).
example_a11c.cpp by making it just a correctness test.
openmp/run.sh so that it runs correctness tests with
the compiler debugging flags.
AD<Base>
operations
omp_in_parallel
execution mode. This has been fixed.
parallel_ad.cpp example.
example_a11c.cpp example so that is just a correctness
(not speed) test.
nan,
Rosen34
, and
Runge45
.
openmp/run.sh:
openmp/run.sh
maximum number of threads
instead of specifying the entire set of values to be tested.
newton_example
so that n_gird is a multiple of the maximum number of threads.
openmp directory
(was commented out).
openmp/run.sh was moved to the
multi_thread section.
openmp_newton_example.cpp and
sum_i_inv_time.cpp
assumed was being done.
AD<Base>
in parallel
execution mode.
Error detected by false result for
! omp_in_parallel()
at line n in the file
prefix/include/cppad/omp_alloc.hpp
sometimes occurred.
openmp/run.sh routine was changed to use zero,
instead of automatic, for automatic choice of
openmp/run.sh
number of repeats
and
maximum number of threads.
openmp/run.sh)
was changed to be valid matlab / octave assignment statements.
openmp/run.sh output.
sizeof(CppAD_TAPE_ADDR_TYPE)
where it used to use sizeof(size_t).
cppad/config.h from CppAD distribution,
(put the information in cppad/configure.hpp.)
This removes the need to undefine symbols that were
defined by cppad/config.h and that did not begin with CPPAD_.
ADOL-C-2.2.0.
omp_alloc tracing so it prints the same pointer
as returned to the user (not an offset version of that pointer).
cppad/omp_alloc.hpp,
suppress the following Microsoft Visual Studio warning
warning C4345: behavior change: an object of POD type constructed with
an initializer of the form () will be default-initialized
TrackNewDel by omp_alloc
has been throughout the CppAD source code, including the examples
that used TrackNewDel; namely,
mul_level_adolc.cpp
, mul_level_adolc_ode.cpp
.
omp_alloc
memory
manager.
This should improves its speed of memory allocation
omp_in_parallel
sections of a program.
make test were not
being detected.
This has been fixed.
NDEBUG is not defined,
the hasnan
function is used to make sure that the
results of any Forward
operation does not contain a
nan (not a number).
If so, an error message is generated and the program terminates.
This error message and termination can be caught; see ErrorHandler
.
NDEBUG is not defined and the default error
handler has not been replaced).
speed_cppad
before the new speed
test organization was created on 2006-12-11
(revision 715 of the repository).
The old speed tests have not been used for years and so have been deleted.
openmp/run.sh script what changed
to take an argument that specifies which tests is run
(it no longer runs all the tests).
Also improve the openmp test program output formatting.
use_ad
option was added to the
openmp_newton_example.cpp test case.
bin/.svn was mistakenly part of the
compressed tar file
.
It has been removed.
old_atomic function
rev_hes_sparse
must have size greater than or equal to
n
.
There was a check that its size was greater than or equal
q
.
This was incorrect and has been fixed.
NDEBUG was not defined,
the thread corresponding to parameters was one, but the only valid thread
number was zero (only one thread)
and an CPPAD stopped with an assertion error.
This has been fixed.
openmp/run.sh where it attempted
to remove a non-existent file in the case where
openmp/run.sh
openmp_flag was not "".
This has been fixed.
old_atomic.hpp was declare of type
Base
when it should have been declared of type size_t.
It caused the old_atomic
feature to fail with some base types.
This has been fixed.
The old_mat_mul.hpp
example has been improved by
caching the @(@
x
@)@ variable information and using it during
reverse Hessian sparsity
calculations.
Some of the old_atomic
documentation was extended to
include more explanation.
The documentation for RevSparseHes
had a dimension error.
This has been fixed.
A faster set operations item was added to the wish list.
This has since been satisfied by
cppad_sparse_list choice during
the install process (since removed).
subversion instructions.
cppad.pc
is stored has been moved from
prefixdir/lib/pkgconfig/cppad.pc
to
prefixdir/share/pkgconfig/cppad.pc
;
see
devel@lists.fedoraproject.org
.
omh/appendix/whats_new_11.omh has been required to build the
documentation (and it has been missing from the distribution).
-Wshadow flag
with the g++ compiler.
The Fadbad speed
tests have a special
flag with this warning removed from the
cxx_flags
.
make test in the releases
http://www.coin-or.org/download/source/CppAD/cppad-20110101.0.license.tgz
where
license
is gpl or cpl.
makefile.in files did not define abs_top_builddir.
cppad_ipopt_nlp.hpp was always installed, even if
ipopt_dir
was not defined on the
configure command line.
libspeed.a was being installed
(it is only intended for testing).
http://www.coin-or.org/download/source/CppAD/cppad-20110101.1.license.tgz
will not have this problem.