![]() |
Header file for the parallel section implementation. More...
Go to the source code of this file.
Classes | |
class | blaze::ParallelSection< T > |
Section for the debugging of the shared-memory parallelization.The ParallelSection class is an auxiliary helper class for the BLAZE_PARALLEL_SECTION macro. It provides the functionality to detected whether a parallel section has been started and with that serves as a utility for debugging the shared-memory parallelization. More... | |
Namespaces | |
blaze | |
Namespace of the Blaze C++ math library. | |
Macros | |
#define | BLAZE_PARALLEL_SECTION if( blaze::ParallelSection<int> BLAZE_JOIN( parallelSection, __LINE__ ) = true ) |
Section for the debugging of the shared-memory parallelization.During the shared-memory parallel (SMP) execution of an operation nested calls to the SMP assign functions are conceptually not allowed. In other words, it is not allowed to call a SMP assign function from within a non-SMP assign function. The BLAZE_PARALLEL_SECTION macro can be used to mark the start of a parallel section and with that detect nested SMP assign function calls. In case a nested use of a parallel section is detected, a std::runtime_error exception is thrown. Note that this macro is reserved for internal debugging purposes only and therefore must NOT be used explicitly! Using this macro might result in erroneous results, runtime or compilation errors. | |
Functions | |
ParallelSection functions | |
bool | blaze::isParallelSectionActive () |
Returns whether a parallel section is active or not. More... | |
Header file for the parallel section implementation.
Copyright (C) 2012-2017 Klaus Iglberger - All Rights Reserved
This file is part of the Blaze library. You can redistribute it and/or modify it under the terms of the New (Revised) BSD License. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
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 HOLDER 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.