extern template void lbann_comm::allreduce(El::AbstractMatrix<T>& m, \
const El::mpi::Comm& c, \
El::mpi::Op op) const; \
extern template void lbann_comm::allreduce(El::AbstractDistMatrix<T>& m, \
const El::mpi::Comm& c, \
El::mpi::Op op) const; \
extern template void lbann_comm::nb_allreduce(El::AbstractMatrix<T>& m, \
const El::mpi::Comm& c, \
Al::request& req, \
El::mpi::Op op) const; \
extern template void lbann_comm::nb_allreduce(El::AbstractDistMatrix<T>& m, \
const El::mpi::Comm& c, \
Al::request& req, \
El::mpi::Op op) const