Skip to content

Commit

Permalink
Disable float versions in Python bindings, add Decomposition ctor fro…
Browse files Browse the repository at this point in the history
…m MatrixData
  • Loading branch information
anigmetov committed Sep 19, 2024
1 parent 3070eca commit 024d59a
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 51 deletions.
6 changes: 5 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ project(oineus LANGUAGES CXX)
option(oin_use_spdlog "Use spdlog" OFF)
option(oin_use_jemalloc "Use jemalloc" OFF)
option(oin_build_tests "Build tests" ON)
option(oin_build_examples "Build examples" ON)
option(oin_gather_add_stats "Gather statistics about summand sizes" OFF)
option(oin_caliper "Enable profiling with Caliper" OFF)

Expand Down Expand Up @@ -40,7 +41,10 @@ if(oin_caliper)
endif()


add_subdirectory(examples)
if (oin_build_examples)
add_subdirectory(examples)
endif ()

add_subdirectory(bindings/python)

if (oin_build_tests)
Expand Down
6 changes: 3 additions & 3 deletions bindings/python/oineus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ PYBIND11_MODULE(_oineus, m)
{
m.doc() = "Oineus python bindings";

std::string float_suffix = "_float";
// std::string float_suffix = "_float";
std::string double_suffix = "_double";
// std::string double_suffix = "";

init_oineus_common_int(m);
init_oineus_common_diagram_int(m);
init_oineus_common_decomposition_int(m);

init_oineus_functions_float(m, float_suffix);
init_oineus_fil_dgm_simplex_float(m, float_suffix);
// init_oineus_functions_float(m, float_suffix);
// init_oineus_fil_dgm_simplex_float(m, float_suffix);

init_oineus_functions_double(m, double_suffix);
init_oineus_fil_dgm_simplex_double(m, double_suffix);
Expand Down
2 changes: 2 additions & 0 deletions bindings/python/oineus_persistence_bindings.h
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,7 @@ void init_oineus_common_decomposition(py::module& m)
.def(py::init<const SimplexFiltrationFloat&, bool>())
.def(py::init<const ProdSimplexFiltrationDouble&, bool>())
.def(py::init<const ProdSimplexFiltrationFloat&, bool>())
.def(py::init<const typename Decomposition::MatrixData&, size_t>())
.def_readwrite("r_data", &Decomposition::r_data)
.def_readwrite("v_data", &Decomposition::v_data)
.def_readwrite("u_data_t", &Decomposition::u_data_t)
Expand Down Expand Up @@ -904,6 +905,7 @@ void init_oineus_fil_dgm_simplex(py::module& m, std::string suffix)
.def("get_sorted_id_by_vertices", &Filtration::get_sorted_id_by_vertices, py::arg("vertices"))
.def("cell_by_uid", &Filtration::get_cell_by_uid, py::arg("uid"))
.def("boundary_matrix", &Filtration::boundary_matrix_full)
.def("coboundary_matrix", &Filtration::coboundary_matrix)
.def("boundary_matrix_rel", &Filtration::boundary_matrix_full_rel)
.def("reset_ids_to_sorted_ids", &Filtration::reset_ids_to_sorted_ids)
.def("__repr__", [](const Filtration& fil) {
Expand Down
2 changes: 1 addition & 1 deletion include/oineus/decomposition.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ namespace oineus {
template<class C, class R>
VRUDecomposition(const Filtration<C, R>& fil, bool _dualize)
:
d_data(!_dualize ? fil.boundary_matrix_full() : antitranspose(fil.boundary_matrix_full(), fil.size())),
d_data(!_dualize ? fil.boundary_matrix_full() : fil.coboundary_matrix()),
r_data(d_data),
dualize_(_dualize),
dim_first(fil.dim_first()),
Expand Down
5 changes: 5 additions & 0 deletions include/oineus/filtration.h
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ namespace oineus {

dim_type max_dim() const { return dim_last_.size() - 1; }


BoundaryMatrix boundary_matrix_full() const
{
CALI_CXX_MARK_FUNCTION;
Expand Down Expand Up @@ -203,6 +204,10 @@ namespace oineus {
return result;
}

BoundaryMatrix coboundary_matrix() const
{
return antitranspose(boundary_matrix_full(), size());
}

template<typename I, typename R, size_t D>
friend class Grid;
Expand Down
49 changes: 3 additions & 46 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,46 +1,3 @@
ansi2html==1.8.0
certifi==2023.7.22
charset-normalizer==3.3.1
click==8.1.7
dash==2.14.0
dash-core-components==2.0.0
dash-html-components==2.0.0
dash-table==5.0.0
filelock==3.12.4
Flask==2.2.5
fsspec==2023.10.0
idna==3.4
importlib-metadata==6.8.0
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mpmath==1.3.0
nest-asyncio==1.5.8
networkx==3.2
numpy==1.26.1
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==8.9.2.26
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu12==2.18.1
nvidia-nvjitlink-cu12==12.3.52
nvidia-nvtx-cu12==12.1.105
packaging==23.2
plotly==5.18.0
requests==2.31.0
retrying==1.3.4
scipy==1.11.3
six==1.16.0
sympy==1.12
tenacity==8.2.3
torch==2.1.0
triton==2.1.0
typing_extensions==4.8.0
urllib3==2.0.7
Werkzeug==2.2.3
zipp==3.17.0
scipy
numpy
eagerpy

0 comments on commit 024d59a

Please sign in to comment.