Remove warnings from STK when compiling on GPUs.
Created by: kyungjoo-kim
We really need to remove the following warnings coming from boost::mpl package. It is a lot. Really a lot of warnings. They hide important warnings that are indeed related to other developer codes.
home/projects/pwr8-rhel73-lsf/boost/1.60.0/openmpi/1.10.4/gcc/5.4.0/cuda/8.0.44/include/boost/mpl/for_each.hpp(78): warning: calling a __host__ function from a __host__ __device__ function is not allowed
detected during:
instantiation of "void boost::mpl::aux::for_each_impl<false>::execute(Iterator *, LastIterator *, TransformFunc *, F) [with Iterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 26L>, LastIterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 27L>, TransformFunc=boost::mpl::identity<mpl_::na>, F=stk::topology_detail::fill_node_container<std::vector<stk::mesh::EntityId, std::allocator<stk::mesh::EntityId>>, stk::mesh::EntityId *>]"
(82): here
instantiation of "void boost::mpl::aux::for_each_impl<false>::execute(Iterator *, LastIterator *, TransformFunc *, F) [with Iterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 25L>, LastIterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 27L>, TransformFunc=boost::mpl::identity<mpl_::na>, F=stk::topology_detail::fill_node_container<std::vector<stk::mesh::EntityId, std::allocator<stk::mesh::EntityId>>, stk::mesh::EntityId *>]"
(82): here
instantiation of "void boost::mpl::aux::for_each_impl<false>::execute(Iterator *, LastIterator *, TransformFunc *, F) [with Iterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 24L>, LastIterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 27L>, TransformFunc=boost::mpl::identity<mpl_::na>, F=stk::topology_detail::fill_node_container<std::vector<stk::mesh::EntityId, std::allocator<stk::mesh::EntityId>>, stk::mesh::EntityId *>]"
(82): here
instantiation of "void boost::mpl::aux::for_each_impl<false>::execute(Iterator *, LastIterator *, TransformFunc *, F) [with Iterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 23L>, LastIterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 27L>, TransformFunc=boost::mpl::identity<mpl_::na>, F=stk::topology_detail::fill_node_container<std::vector<stk::mesh::EntityId, std::allocator<stk::mesh::EntityId>>, stk::mesh::EntityId *>]"
(82): here
instantiation of "void boost::mpl::aux::for_each_impl<false>::execute(Iterator *, LastIterator *, TransformFunc *, F) [with Iterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 22L>, LastIterator=boost::mpl::v_iter<boost::mpl::vector27_c<unsigned int, 7U, 3U, 0U, 4U, 6U, 2U, 1U, 5U, 15U, 11U, 12U, 19U, 18U, 10U, 8U, 16U, 14U, 9U, 13U, 17U, 20U, 23U, 24U, 22U, 21U, 26U, 25U>, 27L>, TransformFunc=boost::mpl::identity<mpl_::na>, F=stk::topology_detail::fill_node_container<std::vector<stk::mesh::EntityId, std::allocator<stk::mesh::EntityId>>, stk::mesh::EntityId *>]"
(82): here
[ 25 instantiation contexts not shown ]
@trilinos/stk
Expectations
Warnings are removed from GPU build.
Current Behavior
MANY MANY MANY MANY MANY MANY WARNINGS
Motivation and Context
With this warnings, user-level developers cannot figure out meaningful waranings for developing their code.
Possible Solution
Probably the best option is to remove boost::mpl things.