diff options
Diffstat (limited to 'inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/mpi/collectives/broadcast.hpp')
-rw-r--r-- | inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/mpi/collectives/broadcast.hpp | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/mpi/collectives/broadcast.hpp b/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/mpi/collectives/broadcast.hpp deleted file mode 100644 index d5160cff7..000000000 --- a/inference-engine/thirdparty/clDNN/common/boost/1.64.0/include/boost-1_64/boost/mpi/collectives/broadcast.hpp +++ /dev/null @@ -1,145 +0,0 @@ -// Copyright (C) 2005, 2006 Douglas Gregor <doug.gregor -at- gmail.com>. - -// Use, modification and distribution is subject to the Boost Software -// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) - -// Message Passing Interface 1.1 -- Section 4.4. Broadcast -#ifndef BOOST_MPI_BROADCAST_HPP -#define BOOST_MPI_BROADCAST_HPP - -#include <boost/mpi/collectives_fwd.hpp> -#include <boost/mpi/exception.hpp> -#include <boost/mpi/datatype.hpp> -#include <boost/mpi/communicator.hpp> - -namespace boost { namespace mpi { - -/************************************************************************ - * Specializations * - ************************************************************************/ - -/** - * INTERNAL ONLY - */ -template<> -BOOST_MPI_DECL void -broadcast<const packed_oarchive>(const communicator& comm, - const packed_oarchive& oa, - int root); - -/** - * INTERNAL ONLY - */ -template<> -BOOST_MPI_DECL void -broadcast<packed_oarchive>(const communicator& comm, packed_oarchive& oa, - int root); - -/** - * INTERNAL ONLY - */ -template<> -BOOST_MPI_DECL void -broadcast<packed_iarchive>(const communicator& comm, packed_iarchive& ia, - int root); - -/** - * INTERNAL ONLY - */ -template<> -BOOST_MPI_DECL void -broadcast<const packed_skeleton_oarchive>(const communicator& comm, - const packed_skeleton_oarchive& oa, - int root); - -/** - * INTERNAL ONLY - */ -template<> -void -broadcast<packed_skeleton_oarchive>(const communicator& comm, - packed_skeleton_oarchive& oa, int root); - -/** - * INTERNAL ONLY - */ -template<> -void -broadcast<packed_skeleton_iarchive>(const communicator& comm, - packed_skeleton_iarchive& ia, int root); - -/** - * INTERNAL ONLY - */ -template<> -void broadcast<content>(const communicator& comm, content& c, int root); - -/** - * INTERNAL ONLY - */ -template<> -void broadcast<const content>(const communicator& comm, const content& c, - int root); - -/************************************************************************ - * broadcast() implementation * - ************************************************************************/ -namespace detail { - // We're sending a type that has an associated MPI datatype, so - // we'll use MPI_Bcast to do all of the work. - template<typename T> - void - broadcast_impl(const communicator& comm, T* values, int n, int root, - mpl::true_) - { - BOOST_MPI_CHECK_RESULT(MPI_Bcast, - (values, n, - boost::mpi::get_mpi_datatype<T>(*values), - root, MPI_Comm(comm))); - } - - // We're sending a type that does not have an associated MPI - // datatype, so we'll need to serialize it. Unfortunately, this - // means that we cannot use MPI_Bcast, so we'll just send from the - // root to everyone else. - template<typename T> - void - broadcast_impl(const communicator& comm, T* values, int n, int root, - mpl::false_) - { - if (comm.rank() == root) { - packed_oarchive oa(comm); - for (int i = 0; i < n; ++i) - oa << values[i]; - broadcast(comm, oa, root); - } else { - packed_iarchive ia(comm); - broadcast(comm, ia, root); - for (int i = 0; i < n; ++i) - ia >> values[i]; - } - } -} // end namespace detail - -template<typename T> -void broadcast(const communicator& comm, T& value, int root) -{ - detail::broadcast_impl(comm, &value, 1, root, is_mpi_datatype<T>()); -} - -template<typename T> -void broadcast(const communicator& comm, T* values, int n, int root) -{ - detail::broadcast_impl(comm, values, n, root, is_mpi_datatype<T>()); -} - -} } // end namespace boost::mpi - -// If the user has already included skeleton_and_content.hpp, include -// the code to broadcast skeletons and content. -#ifdef BOOST_MPI_SKELETON_AND_CONTENT_HPP -# include <boost/mpi/detail/broadcast_sc.hpp> -#endif - -#endif // BOOST_MPI_BROADCAST_HPP |