From e3e7d6ab60dae2d503c435e91f281c617ebaf053 Mon Sep 17 00:00:00 2001 From: Michael Buehlmann <michael.buehlmann@gmail.com> Date: Sun, 20 Dec 2020 23:09:58 -0600 Subject: [PATCH] update to pybind11 2.6.1 --- new_python/CMakeLists.txt | 2 +- new_python/genericio.cpp | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/new_python/CMakeLists.txt b/new_python/CMakeLists.txt index 2bc896c..f9b226d 100644 --- a/new_python/CMakeLists.txt +++ b/new_python/CMakeLists.txt @@ -5,7 +5,7 @@ include(FetchContent) FetchContent_Declare( pybind11 GIT_REPOSITORY https://github.com/pybind/pybind11.git - GIT_TAG v2.5 + GIT_TAG v2.6.1 ) FetchContent_GetProperties(pybind11) diff --git a/new_python/genericio.cpp b/new_python/genericio.cpp index 6b63bd6..dbb419c 100644 --- a/new_python/genericio.cpp +++ b/new_python/genericio.cpp @@ -84,21 +84,21 @@ public: ); if (varp != variables.end()) { // extra space - size_t readsize = num_elem + requestedExtraSpace()/(*varp).ElementSize; + py::ssize_t readsize = num_elem + requestedExtraSpace()/(*varp).ElementSize; if((*varp).IsFloat && (*varp).ElementSize == 4) { - result[var_name] = py::array_t<float>(size_t(readsize)); + result[var_name] = py::array_t<float>(readsize); addVariable(*varp, result[var_name].mutable_data(), gio::GenericIO::VarHasExtraSpace); } else if((*varp).IsFloat && (*varp).ElementSize == 8) { - result[var_name] = py::array_t<double>(size_t(readsize)); + result[var_name] = py::array_t<double>(readsize); addVariable(*varp, result[var_name].mutable_data(), gio::GenericIO::VarHasExtraSpace); } else if(!(*varp).IsFloat && (*varp).ElementSize == 4) { - result[var_name] = py::array_t<int32_t>(size_t(readsize)); + result[var_name] = py::array_t<int32_t>(readsize); addVariable(*varp, result[var_name].mutable_data(), gio::GenericIO::VarHasExtraSpace); } else if(!(*varp).IsFloat && (*varp).ElementSize == 8) { - result[var_name] = py::array_t<int64_t>(size_t(readsize)); + result[var_name] = py::array_t<int64_t>(readsize); addVariable(*varp, result[var_name].mutable_data(), gio::GenericIO::VarHasExtraSpace); } else if(!(*varp).IsFloat && (*varp).ElementSize == 2) { - result[var_name] = py::array_t<uint16_t>(size_t(readsize)); + result[var_name] = py::array_t<uint16_t>(readsize); addVariable(*varp, result[var_name].mutable_data(), gio::GenericIO::VarHasExtraSpace); } } @@ -197,8 +197,10 @@ PYBIND11_MODULE(pygio, m) { m.def("_init_mpi", [](){ int initialized; MPI_Initialized(&initialized); - if(!initialized) - MPI_Init(nullptr, nullptr); + if(!initialized) { + int level_provided; + MPI_Init_thread(nullptr, nullptr, MPI_THREAD_SINGLE, &level_provided); + } }); #endif @@ -214,7 +216,6 @@ PYBIND11_MODULE(pygio, m) { .value("MismatchDisallowed", PyGenericIO::MismatchBehavior::MismatchDisallowed) .value("MismatchRedistribute", PyGenericIO::MismatchBehavior::MismatchRedistribute); - pyGenericIO.def(py::init<std::string, PyGenericIO::FileIO, PyGenericIO::MismatchBehavior>(), py::arg("filename"), py::arg("method")=PyGenericIO::FileIO::FileIOPOSIX, py::arg("redistribute")=PyGenericIO::MismatchBehavior::MismatchRedistribute) .def("inspect", &PyGenericIO::inspect, "Print variable infos and size of GenericIO file") .def("get_variables", &PyGenericIO::get_variables, "Get a list of VariableInformations defined in the GenericIO file") @@ -224,8 +225,6 @@ PYBIND11_MODULE(pygio, m) { .def("read_phys_scale", &PyGenericIO::read_phys_scale) .def("read", &PyGenericIO::read, py::arg("variables")=nullptr); - - py::class_<gio::GenericIO::VariableInfo>(pyGenericIO, "VariableInfo") .def_readonly("name", &gio::GenericIO::VariableInfo::Name) .def_readonly("size", &gio::GenericIO::VariableInfo::Size) -- GitLab