Skip to content

Commit d7479cf

Browse files
Zoltan is added as thirdParty package
1 parent 83a6e4b commit d7479cf

File tree

3,392 files changed

+318142
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,392 files changed

+318142
-1
lines changed

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,15 @@
3737
*.out
3838
*.app
3939

40-
# directories
40+
# Exclude specific directories wherever they appear
4141
build/**
4242
include/**
4343
bin/**
4444
lib/**
45+
**/build/
46+
**/include/
47+
**/bin/
48+
**/lib/
4549
test*/**
4650
**/**notnow
4751
doc/code-documentation/
@@ -61,3 +65,5 @@ doc/DTAGS
6165
**/[0-9]*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9]
6266
**/[0-9]*.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
6367
**/VTK
68+
69+

thirdParty/README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Third-party packages used in PhasicFlow
2+
3+
This folder contains the third-party packages that are used by PhasicFlow. Since the source code is under the main directory of the project, they are downloaded with the source code. But this does not mean that these packages are maintained by PhasicFlow or they are a part of the project.
4+
5+
## [Zoltan](./Zoltan/)
6+
This package is used for space-decomposition and load balancing for MPI execution of the code.
7+
8+
## Thrust
9+
This package is a parallel library developed by NVIDIA. It is built for either CUDA or OpenMP depending of the type of build.
10+
11+

thirdParty/Zoltan/CMakeLists.txt

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
2+
3+
#
4+
# A) Define the package
5+
#
6+
7+
TRIBITS_PACKAGE(Zoltan)
8+
9+
#
10+
# B) Set up package-specific options
11+
#
12+
13+
TRIBITS_ADD_OPTION_AND_DEFINE( ${PACKAGE_NAME}_ENABLE_UINT_IDS
14+
UNSIGNED_INT_GLOBAL_IDS
15+
"typedef unsigned int ZOLTAN_ID_TYPE"
16+
OFF )
17+
18+
TRIBITS_ADD_OPTION_AND_DEFINE( ${PACKAGE_NAME}_ENABLE_ULONG_IDS
19+
UNSIGNED_LONG_GLOBAL_IDS
20+
"typedef unsigned long ZOLTAN_ID_TYPE"
21+
OFF )
22+
23+
TRIBITS_ADD_OPTION_AND_DEFINE( ${PACKAGE_NAME}_ENABLE_ULLONG_IDS
24+
UNSIGNED_LONG_LONG_GLOBAL_IDS
25+
"typedef unsigned long long ZOLTAN_ID_TYPE"
26+
OFF )
27+
28+
TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_HUND
29+
HAVE_ZOLTAN_HUND
30+
"Enable support for HUND in ${PACKAGE_NAME}."
31+
OFF )
32+
33+
TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_KNUTH_HASH
34+
HAVE_ZOLTAN_KNUTH_HASH
35+
"Enable support for Knuth's hash function in ${PACKAGE_NAME}."
36+
OFF )
37+
38+
TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_F90INTERFACE
39+
BUILD_ZOLTAN_F90_INTERFACE
40+
"Enable build of F90 interface to ${PACKAGE_NAME}."
41+
OFF )
42+
43+
TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_PURIFY
44+
HAVE_PURIFY
45+
"Enable work-arounds to purify bugs."
46+
OFF )
47+
48+
OPTION(${PACKAGE_NAME}_ENABLE_CPPDRIVER
49+
"Enable C++ driver for ${PACKAGE_NAME}."
50+
${${PROJECT_NAME}_ENABLE_CXX} )
51+
52+
IF (${PROJECT_NAME}_ENABLE_CXX)
53+
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DMPICH_IGNORE_CXX_SEEK")
54+
ENDIF()
55+
56+
IF(${PROJECT_NAME}_ENABLE_Fortran AND BUILD_ZOLTAN_F90_INTERFACE)
57+
58+
# Special Fortran compiler-specific flags
59+
IF (${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
60+
SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DPGI")
61+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPGI")
62+
ENDIF()
63+
64+
IF (${CMAKE_Fortran_COMPILER_ID} MATCHES "LAHEY")
65+
SET(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFUJITSU")
66+
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFUJITSU")
67+
ENDIF()
68+
69+
SET(ZOLTAN_BUILD_ZFDRIVE YES)
70+
ENDIF()
71+
72+
#
73+
# C) Add the libraries, tests, and examples
74+
#
75+
76+
IF (NOT TPL_ENABLE_MPI)
77+
ADD_SUBDIRECTORY(siMPI)
78+
SET(ZOLTAN_BUILD_ZFDRIVE NO)
79+
ENDIF()
80+
81+
ADD_SUBDIRECTORY(src)
82+
83+
TRIBITS_ADD_TEST_DIRECTORIES(src/driver)
84+
85+
IF(ZOLTAN_BUILD_ZFDRIVE)
86+
# CMAKE version > 2.6.4 is needed; earlier versions use C++ compiler to link
87+
# fdriver, while fdriver needs F90.
88+
TRIBITS_ADD_TEST_DIRECTORIES(src/fdriver)
89+
ENDIF()
90+
91+
TRIBITS_ADD_TEST_DIRECTORIES(test)
92+
93+
TRIBITS_ADD_EXAMPLE_DIRECTORIES(example)
94+
95+
TRIBITS_EXCLUDE_FILES(
96+
test/ch_brack2_3
97+
test/ch_bug
98+
test/ch_degenerate
99+
test/ch_degenerateAA
100+
test/ch_drake
101+
test/ch_grid20x19
102+
test/ch_hammond
103+
test/ch_hammond2
104+
test/ch_hughes
105+
test/ch_nograph
106+
test/ch_onedbug
107+
test/ch_random
108+
test/ch_serial
109+
test/ch_slac
110+
test/hg_cage10
111+
test/hg_diag500_4
112+
test/hg_ewgt
113+
test/hg_felix
114+
test/hg_ibm03
115+
test/hg_ml27
116+
test/hg_nograph
117+
test/hg_vwgt
118+
test/nem_ti_20k
119+
test/nem_ti_4k
120+
test/misc_siefert
121+
test/th
122+
test/bin
123+
doc/Zoltan_html/tu_html
124+
src/ZoltanComponent
125+
src/driver_old
126+
src/fdriver_old
127+
)
128+
129+
#
130+
# D) Do standard postprocessing
131+
#
132+
133+
TRIBITS_PACKAGE_POSTPROCESS()
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* @HEADER
3+
*
4+
* ***********************************************************************
5+
*
6+
* Zoltan Toolkit for Load-balancing, Partitioning, Ordering and Coloring
7+
* Copyright 2012 Sandia Corporation
8+
*
9+
* Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
10+
* the U.S. Government retains certain rights in this software.
11+
*
12+
* Redistribution and use in source and binary forms, with or without
13+
* modification, are permitted provided that the following conditions are
14+
* met:
15+
*
16+
* 1. Redistributions of source code must retain the above copyright
17+
* notice, this list of conditions and the following disclaimer.
18+
*
19+
* 2. Redistributions in binary form must reproduce the above copyright
20+
* notice, this list of conditions and the following disclaimer in the
21+
* documentation and/or other materials provided with the distribution.
22+
*
23+
* 3. Neither the name of the Corporation nor the names of the
24+
* contributors may be used to endorse or promote products derived from
25+
* this software without specific prior written permission.
26+
*
27+
* THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
28+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
31+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
33+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
34+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
35+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
36+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38+
*
39+
* Questions? Contact Karen Devine kddevin@sandia.gov
40+
* Erik Boman egboman@sandia.gov
41+
*
42+
* ***********************************************************************
43+
*
44+
* @HEADER
45+
*/

thirdParty/Zoltan/Disclaimer

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
Zoltan Library for Parallel Applications
3+
4+
Neither Sandia, the government, the DOE, nor any of their employees, makes
5+
any warranty, express or implied, or assumes any legal liability or
6+
responsibility for the accuracy, completeness, or usefulness of any
7+
information, apparatus, product, or process disclosed, or represents that
8+
its use would not infringe privately owned rights. This information is made
9+
available on an "AS-IS" basis.
10+
ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
11+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
12+
EXCLUDED HEREUNDER.
13+
Neither Sandia nor the Government, nor their agents, officers and employees
14+
shall be liable for any loss, damage (including, incidental, consequential
15+
and special), injury or other casualty of whatsoever kind, or by whomsoever
16+
caused, to the person or property of anyone arising out of or resulting from
17+
this information, or the accuracy and validity of this information.

0 commit comments

Comments
 (0)