Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • I INMOST
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Terekhov
  • INMOST
  • Wiki
  • 0204 Compilation ParMETIS Windows

0204 Compilation ParMETIS Windows · Changes

Page history
Updated 0204 Compilation ParMETIS Windows (markdown) authored Feb 06, 2015 by Kirill Terekhov's avatar Kirill Terekhov
Hide whitespace changes
Inline Side-by-side
0204-Compilation-ParMETIS-Windows.md 0 → 100644
View page @ 99d6c3e7
Compiling INMOST with ParMETIS on Windows
======
INMOST may be configured with optional ParMETIS support. In this case INMOST will support calling graph partitioner from ParMETIS package, i.e. you will be able to use Partitioner::Parmetis in Partitioner::SetMethod.
INMOST is compatible with ParMETIS version 4.0.3 and known to compile well with Visual Studio.
Download ParMETIS version 4.0.3 from [http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download](http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download).
ParMETIS installation guide recommends that you visit metis/include/methis.h and choose
IDXTYPEWIDTH and REALTYPEWIDTH to be 32 or 64. If you expect large meshes you may change `IDXTYPEWIDTH` to 64.
Create "build" directory where visual studio project will be created.
Open cmake-gui application and enter path to the folder where
you have unarchived parmetis source code into the field to right to
"Where is the source code" text then provide path to your "build" directory.
[[pics/cmake_parmetis_1.png]]
Before you click "Configure" button in CMake you have to provide cmake instructions for MPI library.
You can either open CMakeLists.txt in source directory and add `find_package(MPI)` after `Project(ParMETIS)` words, then CMake will try to detect MPI library automatically.
Or you may click "Add Entry" button in CMake application and enter `MPI_INCLUDE_PATH`
variable of type path on your own. Note that MPI libraries provided for INMOST library
and ParMETIS library should match.
[[pics/cmake_parmetis_2.png]]
Click "Configure" and select Visual Studio as your compiler. It is recommended that selected compiler match with compiler for INMOST library.
[[pics/cmake_parmetis_3.png]]
Then click "Generate".
[[pics/cmake_parmetis_4.png]]
Open your "build" directory and open generated ParMETIS.sln visual studio solution. Switch from Debug to Release mode in "Build/Configuration Manager" menu. Hit F7 to compile the library.
After successful compilation provide path for INMOST library.
Open cmake-gui and by clicking to black triangle at the right
end of the field after "Where to build the binaries" and choose
your build directory for INMOST.
First activate `USE_PARTITIONER_PARMETIS` checkbox.
Then add four entries through "Add Entry" button:
`METIS_INCLUDE_DIR` of type `PATH` pointing to path_of_parmetis_source/metis/include
`METIS_LIBRARY` of type `FILEPATH` pointing to path_of_parmetis_build/libmetis/Release/libmetis.lib
`PARMETIS_INCLUDE_DIR` of type `PATH` pointing to path_of_parmetis_source/include
`PARMETIS_LIBRARY` of type `FILEPATH` pointing to path_of_parmetis_build/libparmetis/Release/parmetis.lib
[[pics/cmake_parmetis_5.png]]
As a result you will be able to use Partitioner::Parmetis in Partitioner::SetMethod.
\ No newline at end of file
Clone repository
  • 0100 Compilation
  • 0200 Compilation Windows
  • 0201 Obtain MSVC
  • 0202 Obtain MSMPI
  • 0203 Compilation INMOST Windows
  • 0204 Compilation ParMETIS Windows
  • 0205 Compilation Zoltan Windows
  • 0206 Compilation PETSc Windows
  • 0207 Compilation Trilinos Windows
  • 0400 Compilation Linux
  • 0401 Install MPI
  • 0402 Compilation INMOST Linux
  • 0403 Compilation PETSc Linux
  • 0404 Compilation Trilinos Linux
  • 0405 Compilation ParMETIS Linux
View All Pages