Unverified Commit 22a6ad6d authored by Quan (Andy) Gan's avatar Quan (Andy) Gan Committed by GitHub
Browse files

[Windows] Compile METIS on Windows (#1771)



* make metis compilable on windows

* lint
Co-authored-by: default avatarJinjing Zhou <VoVAllen@users.noreply.github.com>
parent 83f71466
...@@ -91,8 +91,13 @@ if(USE_OPENMP) ...@@ -91,8 +91,13 @@ if(USE_OPENMP)
endif(USE_OPENMP) endif(USE_OPENMP)
# To compile METIS correct for DGL. # To compile METIS correct for DGL.
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DIDXTYPEWIDTH=64 -DREALTYPEWIDTH=32") if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIDXTYPEWIDTH=64 -DREALTYPEWIDTH=32") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /DIDXTYPEWIDTH=64 /DREALTYPEWIDTH=32")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /DIDXTYPEWIDTH=64 /DREALTYPEWIDTH=32")
else(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DIDXTYPEWIDTH=64 -DREALTYPEWIDTH=32")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DIDXTYPEWIDTH=64 -DREALTYPEWIDTH=32")
endif(MSVC)
# configure minigun # configure minigun
add_definitions(-DENABLE_PARTIAL_FRONTIER=0) # disable minigun partial frontier compile add_definitions(-DENABLE_PARTIAL_FRONTIER=0) # disable minigun partial frontier compile
...@@ -139,19 +144,17 @@ add_definitions(-DUSE_HDFS=OFF) ...@@ -139,19 +144,17 @@ add_definitions(-DUSE_HDFS=OFF)
list(APPEND DGL_LINKER_LIBS dmlc) list(APPEND DGL_LINKER_LIBS dmlc)
set(GOOGLE_TEST 0) # Turn off dmlc-core test set(GOOGLE_TEST 0) # Turn off dmlc-core test
if(NOT MSVC)
# Compile METIS # Compile METIS
set(GKLIB_PATH "third_party/METIS/GKlib") set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/third_party/METIS/GKlib")
include(${GKLIB_PATH}/GKlibSystem.cmake) include(${GKLIB_PATH}/GKlibSystem.cmake)
include_directories(${GKLIB_PATH}) include_directories(${GKLIB_PATH})
add_subdirectory("third_party/METIS/libmetis/") add_subdirectory("third_party/METIS/libmetis/")
list(APPEND DGL_LINKER_LIBS metis) list(APPEND DGL_LINKER_LIBS metis)
# support PARALLEL_ALGORITHMS # support PARALLEL_ALGORITHMS
if (LIBCXX_ENABLE_PARALLEL_ALGORITHMS) if (LIBCXX_ENABLE_PARALLEL_ALGORITHMS)
add_definitions(-DPARALLEL_ALGORITHMS) add_definitions(-DPARALLEL_ALGORITHMS)
endif(LIBCXX_ENABLE_PARALLEL_ALGORITHMS) endif(LIBCXX_ENABLE_PARALLEL_ALGORITHMS)
endif(NOT MSVC)
target_link_libraries(dgl ${DGL_LINKER_LIBS} ${DGL_RUNTIME_LINKER_LIBS}) target_link_libraries(dgl ${DGL_LINKER_LIBS} ${DGL_RUNTIME_LINKER_LIBS})
......
...@@ -4,13 +4,10 @@ ...@@ -4,13 +4,10 @@
* \brief Call Metis partitioning * \brief Call Metis partitioning
*/ */
#include <dgl/packed_func_ext.h>
#include "../c_api_common.h"
#if !defined(_WIN32)
#include <metis.h> #include <metis.h>
#include <dgl/graph_op.h> #include <dgl/graph_op.h>
#include <dgl/packed_func_ext.h>
#include "../c_api_common.h"
using namespace dgl::runtime; using namespace dgl::runtime;
...@@ -86,21 +83,3 @@ DGL_REGISTER_GLOBAL("transform._CAPI_DGLMetisPartition") ...@@ -86,21 +83,3 @@ DGL_REGISTER_GLOBAL("transform._CAPI_DGLMetisPartition")
}); });
} // namespace dgl } // namespace dgl
#else // defined(_WIN32)
using namespace dgl::runtime;
namespace dgl {
DGL_REGISTER_GLOBAL("transform._CAPI_DGLMetisPartition")
.set_body([] (DGLArgs args, DGLRetValue* rv) {
GraphRef g = args[0];
int k = args[1];
LOG(WARNING) << "DGL doesn't support METIS partitioning in Windows";
*rv = aten::NullArray();
});
} // namespace dgl
#endif // !defined(_WIN32)
Subproject commit ffaa7010d8cf9c1168bfdd78a0d4cbdab5cfc8cb Subproject commit b40908054eac6abeadd46fa55464f0068fc052dc
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment