Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
O
openfpm_io
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
openfpm
openfpm_io
Commits
821c4194
Commit
821c4194
authored
Nov 06, 2018
by
incardon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding CMakeList to IO
parent
fac23ddd
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
581 additions
and
47 deletions
+581
-47
CMakeLists.txt
CMakeLists.txt
+84
-0
cmake_modules/FindTinyObjLoader.cmake
cmake_modules/FindTinyObjLoader.cmake
+99
-0
configure.ac
configure.ac
+1
-1
src/CMakeLists.txt
src/CMakeLists.txt
+88
-0
src/CSVWriter/CSVWriter_unit_tests.hpp
src/CSVWriter/CSVWriter_unit_tests.hpp
+1
-1
src/GraphMLWriter/GraphMLWriter_unit_tests.hpp
src/GraphMLWriter/GraphMLWriter_unit_tests.hpp
+1
-1
src/HDF5_wr/HDF5_reader_gd.hpp
src/HDF5_wr/HDF5_reader_gd.hpp
+1
-1
src/HDF5_wr/HDF5_reader_vd.hpp
src/HDF5_wr/HDF5_reader_vd.hpp
+12
-12
src/HDF5_wr/HDF5_writer_cuda.cu
src/HDF5_wr/HDF5_writer_cuda.cu
+101
-0
src/HDF5_wr/HDF5_writer_gd.hpp
src/HDF5_wr/HDF5_writer_gd.hpp
+1
-1
src/HDF5_wr/HDF5_writer_unit_tests.hpp
src/HDF5_wr/HDF5_writer_unit_tests.hpp
+1
-1
src/HDF5_wr/HDF5_writer_vd.hpp
src/HDF5_wr/HDF5_writer_vd.hpp
+4
-4
src/Makefile.am
src/Makefile.am
+3
-3
src/Plot/Plot_unit_tests.hpp
src/Plot/Plot_unit_tests.hpp
+11
-11
src/RawReader/RawReader_unit_tests.hpp
src/RawReader/RawReader_unit_tests.hpp
+1
-1
src/VTKWriter/VTKWriter_dist_graph.hpp
src/VTKWriter/VTKWriter_dist_graph.hpp
+1
-1
src/VTKWriter/VTKWriter_unit_tests.hpp
src/VTKWriter/VTKWriter_unit_tests.hpp
+9
-9
src/config/config_cmake.h.in
src/config/config_cmake.h.in
+162
-0
No files found.
CMakeLists.txt
0 → 100644
View file @
821c4194
cmake_minimum_required
(
VERSION 3.8 FATAL_ERROR
)
project
(
openfpm_pdata LANGUAGES C CXX CUDA
)
list
(
APPEND CMAKE_MODULE_PATH
${
CMAKE_CURRENT_LIST_DIR
}
/cmake_modules/
)
set
(
BOOST_INCLUDE
${
Boost_INCLUDE_DIR
}
CACHE PATH
"Include directory for BOOST"
)
set
(
HDF5_ROOT CACHE PATH
"HDF5 root path"
)
set
(
SE_CLASS1 CACHE BOOL
"Activate compilation with SE_CLASS1"
)
set
(
SE_CLASS2 CACHE BOOL
"Activate compilation with SE_CLASS2"
)
set
(
SE_CLASS3 CACHE BOOL
"Activate compilation with SE_CLASS3"
)
set
(
ENV{HDF5_ROOT}
${
HDF5_ROOT
}
)
if
(
NOT TINYOBJLOADER_FOUND
)
set
(
TINYOBJLOADER_ROOT CACHE PATH
"TinyObjLoader library path"
)
endif
()
set
(
ENV{PATH}
"$ENV{PATH}:
${
HDF5_ROOT
}
/bin"
)
set
(
HDF5_PREFER_PARALLEL TRUE
)
find_package
(
Boost 1.52.0 REQUIRED unit_test_framework iostreams program_options
)
find_package
(
CUDA
)
find_package
(
MPI REQUIRED
)
find_package
(
HDF5 REQUIRED
)
find_package
(
TinyObjLoader
)
if
(
CUDA_FOUND
)
set
(
OPENFPM_INIT_FILE
"initialize/initialize_wrapper_cuda.cu"
)
else
()
set
(
OPENFPM_INIT_FILE
"initialize/initialize_wrapper_cuda.cpp"
)
endif
()
###### CONFIG.h FILE ######
if
(
SE_CLASS1
)
set
(
DEFINE_SE_CLASS1
"#define SE_CLASS1"
)
endif
()
if
(
SE_CLASS2
)
set
(
DEFINE_SE_CLASS2
"#define SE_CLASS2"
)
endif
()
if
(
SE_CLASS3
)
set
(
DEFINE_SE_CLASS3
"#define SE_CLASS3"
)
endif
()
if
(
CUDA_FOUND
)
set
(
DEFINE_CUDA_GPU
"#define CUDA_GPU"
)
endif
()
if
(
MPI_FOUND
)
set
(
DEFINE_HAVE_MPI
"#define HAVE_MPI"
)
else
()
message
(
FATAL_ERROR
"MPI is required in order to install OpenFPM"
)
endif
()
if
(
Boost_FOUND
)
set
(
DEFINE_HAVE_BOOST
"#define HAVE_BOOST"
)
set
(
DEFINE_HAVE_BOOST_IOSTREAMS
"#define HAVE_BOOST_IOSTREAMS"
)
set
(
DEFINE_HAVE_BOOST_PROGRAM_OPTIONS
"#define HAVE_BOOST_PROGRAM_OPTIONS"
)
set
(
DEFINE_HAVE_BOOST_UNIT_TEST_FRAMEWORK
"#define HAVE_BOOST_UNIT_TEST_FRAMEWORK"
)
else
()
message
(
FATAL_ERROR
"BOOST is required in order to install OpenFPM"
)
endif
()
if
(
HDF5_FOUND
)
if
(
HDF5_IS_PARALLEL
)
set
(
DEFINE_HAVE_HDF5
"#define HAVE_HDF5"
)
else
()
message
(
STATUS
"HDF5 found
${
HDF5_INCLUDE_DIRS
}
does not have parallel support, OpenFPM require it"
)
endif
()
else
()
message
(
FATAL_ERROR
"HDF5 with parallel support is required in order to install OpenFPM"
)
endif
()
if
(
TINYOBJLOADER_FOUND
)
set
(
DEFINE_HAVE_TINYOBJLOADER
"#define HAVE_TINYOBJLOADER 1"
)
endif
()
configure_file
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/src/config/config_cmake.h.in
${
CMAKE_CURRENT_SOURCE_DIR
}
/src/config/config.h
)
include_directories
(
SYSTEM
${
MPI_INCLUDE_PATH
}
)
add_subdirectory
(
src
)
cmake_modules/FindTinyObjLoader.cmake
0 → 100644
View file @
821c4194
# - Try to find LibHilbert
# Once done this will define
#
# TINYOBJLOADER_FOUND - system has LibHilbert
# TINYOBJLOADER_INCLUDE_DIRS - include directories for PETSc
# TINYOBJLOADER_LIBRARY_DIRS - library directories for PETSc
# TINYOBJLOADER_LIBRARIES - libraries for PETSc
#
#=============================================================================
# Copyright (C) 2010-2016 Pietro Incardona
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#=============================================================================
if
(
TINYOBJLOADER_FOUND OR TARGET tinyobjloader
)
return
()
endif
()
add_library
(
tinyobjloader INTERFACE IMPORTED
)
# Add libraries (static)
set
(
_libs
"-L
${
TINYOBJLOADER_ROOT
}
/lib64 -ltinyobjloader"
)
set_property
(
TARGET tinyobjloader PROPERTY INTERFACE_LINK_LIBRARIES
"
${
_libs
}
"
)
# Create LibHilbert test program
set
(
TINYOBJLOADER_TEST_LIB_CPP
"
${
CMAKE_CURRENT_BINARY_DIR
}
/CMakeFiles/tinyobjloader_test_lib.cpp"
)
file
(
WRITE
${
TINYOBJLOADER_TEST_LIB_CPP
}
"
#define TINYOBJLOADER_IMPLEMENTATION
#include
\"
tiny_obj_loader.h
\"
int main()
{
std::string inputfile =
\"
null.obj
\"
;
tinyobj::attrib_t attrib;
std::vector<tinyobj::shape_t> shapes;
std::vector<tinyobj::material_t> materials;
std::string err;
bool ret = tinyobj::LoadObj(&attrib, &shapes, &materials, &err, inputfile.c_str());
return 0;
}
"
)
# Try to run test program (static linking)
try_run
(
TINYOBJLOADER_TEST_LIB_EXITCODE
TINYOBJLOADER_TEST_LIB_COMPILED
${
CMAKE_CURRENT_BINARY_DIR
}
${
TINYOBJLOADER_TEST_LIB_CPP
}
CMAKE_FLAGS
"-DINCLUDE_DIRECTORIES:STRING=
${
TINYOBJLOADER_ROOT
}
/include"
"-DLINK_LIBRARIES:STRING=
${
TINYOBJLOADER_ROOT
}
/lib"
LINK_LIBRARIES tinyobjloader
COMPILE_OUTPUT_VARIABLE TINYOBJLOADER_TEST_LIB_COMPILE_OUTPUT
RUN_OUTPUT_VARIABLE TINYOBJLOADER_TEST_LIB_OUTPUT
)
if
(
TINYOBJLOADER_TEST_LIB_COMPILED AND TINYOBJLOADER_TEST_LIB_EXITCODE EQUAL 0
)
message
(
STATUS
"Test TinyObjLoader_TEST_RUNS static linking - Success"
)
set
(
TINYOBJLOADER_TEST_RUNS TRUE
)
set
(
TINYOBJLOADER_FOUND TRUE
)
set
(
TINYOBJLOADER_INCLUDE_DIRS
${
TINYOBJLOADER_ROOT
}
/include
)
set
(
TINYOBJLOADER_LIBRARY_DIRS
${
TINYOBJLOADER_ROOT
}
/lib64
)
set
(
TINYOBJLOADER_LIBRARIES -ltinyobjloader
)
else
()
message
(
STATUS
"Test TinyObjLoader_TEST_RUNS static linking - Failed"
)
set
(
TINYOBJLOADER_TEST_RUNS FALSE
)
endif
()
configure.ac
View file @
821c4194
...
...
@@ -186,7 +186,7 @@ AC_ARG_WITH([pdata],
AS_HELP_STRING([--with-pdata=directory],
[specify where is located the pdata project]),
[pdata_dir="$withval"],
[pdata_dir="../../
openfpm_pdata/
src"])
[pdata_dir="../../src"])
####### HDF5
...
...
src/CMakeLists.txt
0 → 100644
View file @
821c4194
cmake_minimum_required
(
VERSION 3.8 FATAL_ERROR
)
########################### Executables
add_executable
(
io main.cpp HDF5_wr/HDF5_writer_cuda.cu ObjReader/ObjReader_unit_test.cpp ../../openfpm_vcluster/src/VCluster/VCluster.cpp ../../openfpm_devices/src/memory/CudaMemory.cu ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/Memleak_check.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp
)
###########################
target_compile_options
(
io PUBLIC $<$<COMPILE_LANGUAGE:CUDA>:-Xcudafe
"--display_error_number --diag_suppress=2885 --diag_suppress=2887 --diag_suppress=2888 --diag_suppress=186 --diag_suppress=111"
--expt-extended-lambda>
)
target_include_directories
(
io PUBLIC
${
CUDA_INCLUDE_DIRS
}
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../openfpm_devices/src/
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../openfpm_vcluster/src/
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../openfpm_data/src/
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../src/
)
target_include_directories
(
io PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
/config
)
target_include_directories
(
io PUBLIC
${
HDF5_ROOT
}
/include
)
target_include_directories
(
io PUBLIC
${
TINYOBJLOADER_INCLUDE_DIRS
}
)
target_link_libraries
(
io
${
Boost_LIBRARIES
}
)
target_link_libraries
(
io -L
${
HDF5_ROOT
}
/lib hdf5 hdf5_hl
)
target_link_libraries
(
io -L
${
TINYOBJLOADER_LIBRARY_DIRS
}
-ltinyobjloader
)
# Request that particles be built with -std=c++11
# As this is a public compile feature anything that links to particles
# will also build with -std=c++11
target_compile_features
(
io PUBLIC cxx_std_11
)
target_link_libraries
(
io
${
MPI_C_LIBRARIES
}
)
install
(
FILES RawReader/RawReader.hpp
RawReader/RawReader_unit_tests.hpp
DESTINATION openfpm_io/include/RawReader
)
install
(
FILES CSVWriter/csv_multiarray.hpp
CSVWriter/CSVWriter.hpp
CSVWriter/is_csv_writable.hpp
DESTINATION openfpm_io/include/CSVWriter/
)
install
(
FILES GraphMLWriter/GraphMLWriter.hpp
DESTINATION openfpm_io/include/GraphMLWriter
)
install
(
FILES util/util.hpp util/GBoxes.hpp
DESTINATION openfpm_io/include/util
)
install
(
FILES VTKWriter/VTKWriter.hpp
VTKWriter/byteswap_portable.hpp
VTKWriter/VTKWriter_dist_graph.hpp
VTKWriter/VTKWriter_graph.hpp
VTKWriter/VTKWriter_point_set.hpp
VTKWriter/VTKWriter_grids.hpp
VTKWriter/VTKWriter_grids_st.hpp
VTKWriter/VTKWriter_grids_util.hpp
VTKWriter/VTKWriter_vector_box.hpp
VTKWriter/is_vtk_writable.hpp
DESTINATION openfpm_io/include/VTKWriter/
)
install
(
FILES HDF5_wr/HDF5_wr.hpp
HDF5_wr/HDF5_writer.hpp
HDF5_wr/HDF5_writer_vd.hpp
HDF5_wr/HDF5_writer_gd.hpp
HDF5_wr/HDF5_reader_gd.hpp
HDF5_wr/HDF5_reader.hpp
HDF5_wr/HDF5_reader_vd.hpp
DESTINATION openfpm_io/include/HDF5_wr
)
install
(
FILES Plot/GoogleChart.hpp Plot/util.hpp
DESTINATION openfpm_io/include/Plot
)
#if(BUILD_TESTING)
# add_executable(particle_test test.cu)
# set_target_properties(particle_test PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
# target_link_libraries(particle_test PRIVATE particles)
# add_test(NAME particles_10k COMMAND particle_test 10000 )
# add_test(NAME particles_256k COMMAND particle_test 256000 )
# if(APPLE)
# We need to add the default path to the driver (libcuda.dylib) as an rpath,
# so that the static cuda runtime can find it at runtime.
# set_property(TARGET particle_test PROPERTY BUILD_RPATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
# endif()
#endif()
src/CSVWriter/CSVWriter_unit_tests.hpp
View file @
821c4194
...
...
@@ -9,7 +9,7 @@ BOOST_AUTO_TEST_SUITE( csv_writer_test )
BOOST_AUTO_TEST_CASE
(
csv_writer_particles
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
src/GraphMLWriter/GraphMLWriter_unit_tests.hpp
View file @
821c4194
...
...
@@ -77,7 +77,7 @@ const std::string ne_cp::attributes::name[] = {"x","y","z","double_num","long_nu
BOOST_AUTO_TEST_CASE
(
graphml_writer_use
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
src/HDF5_wr/HDF5_reader_gd.hpp
View file @
821c4194
...
...
@@ -88,7 +88,7 @@ public:
openfpm
::
vector
<
device_grid
>
&
loc_grid_old
,
openfpm
::
vector
<
GBoxes
<
device_grid
::
dims
>>
&
gdb_ext_old
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
MPI_Comm
comm
=
v_cl
.
getMPIComm
();
MPI_Info
info
=
MPI_INFO_NULL
;
...
...
src/HDF5_wr/HDF5_reader_vd.hpp
View file @
821c4194
...
...
@@ -14,7 +14,7 @@ class HDF5_reader<VECTOR_DIST>
{
private:
template
<
unsigned
int
dim
,
typename
St
,
typename
prp
>
template
<
typename
vector_pos_type
,
typename
vector_prp_type
>
bool
load_block
(
long
int
bid
,
hssize_t
mpi_size_old
,
int
*
metadata_out
,
...
...
@@ -22,8 +22,8 @@ private:
hid_t
plist_id
,
hid_t
dataset_2
,
size_t
&
g_m
,
openfpm
::
vector
<
Point
<
dim
,
St
>>
&
v_pos
,
openfpm
::
vector
<
prp
>
&
v_prp
)
vector_pos_type
&
v_pos
,
vector_prp_type
&
v_prp
)
{
hsize_t
offset
[
1
];
hsize_t
block
[
1
];
...
...
@@ -75,9 +75,9 @@ private:
Unpack_stat
ps
;
openfpm
::
vector
<
Point
<
dim
,
St
>>
v_pos_unp
;
vector_pos_type
v_pos_unp
;
openfpm
::
vector
<
prp
>
v_prp_unp
;
vector_prp_type
v_prp_unp
;
Unpacker
<
decltype
(
v_pos_unp
),
HeapMemory
>::
unpack
(
mem
,
v_pos_unp
,
ps
,
1
);
Unpacker
<
decltype
(
v_prp_unp
),
HeapMemory
>::
unpack
(
mem
,
v_prp_unp
,
ps
,
1
);
...
...
@@ -101,12 +101,12 @@ private:
public:
template
<
unsigned
int
dim
,
typename
St
,
typename
prp
>
inline
bool
load
(
const
std
::
string
&
filename
,
openfpm
::
vector
<
Point
<
dim
,
St
>>
&
v_pos
,
openfpm
::
vector
<
prp
>
&
v_prp
,
template
<
typename
vector_pos_type
,
typename
vector_prp_type
>
inline
bool
load
(
const
std
::
string
&
filename
,
vector_pos_type
&
v_pos
,
vector_prp_type
&
v_prp
,
size_t
&
g_m
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
v_pos
.
clear
();
v_prp
.
clear
();
...
...
@@ -214,16 +214,16 @@ public:
stop_block
=
start_block
+
n_block
.
get
(
v_cl
.
getProcessUnitID
());
if
(
mpi_rank
>=
mpi_size_old
)
load_block
(
start_block
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);
{
load_block
(
start_block
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);}
else
{
size_t
n_bl
=
0
;
size_t
lb
=
start_block
;
for
(
;
lb
<
stop_block
;
lb
++
,
n_bl
++
)
load_block
(
lb
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);
{
load_block
(
lb
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);}
if
(
n_bl
<
max_block
)
load_block
(
-
1
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);
{
load_block
(
-
1
,
mpi_size_old
,
metadata_out
,
metadata_accum
,
plist_id
,
dataset_2
,
g_m
,
v_pos
,
v_prp
);}
}
// Close open object
...
...
src/HDF5_wr/HDF5_writer_cuda.cu
0 → 100644
View file @
821c4194
#include "config.h"
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include "HDF5_wr.hpp"
#include "hdf5.h"
BOOST_AUTO_TEST_SUITE
(
vd_hdf5_chckpnt_rstrt_test_gpu
)
// Dimensionality
const
size_t
dim
=
3
;
BOOST_AUTO_TEST_CASE
(
vector_dist_hdf5_save_test_gpu
)
{
openfpm
::
vector_gpu
<
Point
<
3
,
float
>>
vpos
;
openfpm
::
vector_gpu
<
aggregate
<
double
,
float
[
dim
],
size_t
,
float
[
dim
][
dim
]
>>
vprp
;
// Put forces
for
(
size_t
i
=
0
;
i
<
1024
;
i
++
)
{
Point
<
3
,
float
>
p
;
p
.
get
(
0
)
=
i
;
p
.
get
(
1
)
=
i
+
13
;
p
.
get
(
2
)
=
i
+
17
;
vpos
.
add
(
p
);
vprp
.
add
();
vprp
.
template
get
<
0
>(
vprp
.
size
()
-
1
)
=
p
.
get
(
0
)
+
113.0
;
vprp
.
template
get
<
1
>(
vprp
.
size
()
-
1
)[
0
]
=
p
.
get
(
0
)
+
100.0
;
vprp
.
template
get
<
1
>(
vprp
.
size
()
-
1
)[
1
]
=
p
.
get
(
1
)
+
200.0
;
vprp
.
template
get
<
1
>(
vprp
.
size
()
-
1
)[
2
]
=
p
.
get
(
2
)
+
300.0
;
vprp
.
template
get
<
2
>(
vprp
.
size
()
-
1
)
=
p
.
get
(
0
)
+
10013.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
0
][
0
]
=
p
.
get
(
0
)
+
600.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
0
][
1
]
=
p
.
get
(
0
)
+
900.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
0
][
2
]
=
p
.
get
(
0
)
+
1600.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
1
][
0
]
=
p
.
get
(
0
)
+
5600.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
1
][
1
]
=
p
.
get
(
0
)
+
6900.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
1
][
2
]
=
p
.
get
(
0
)
+
7600.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
2
][
0
]
=
p
.
get
(
0
)
+
9600.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
2
][
1
]
=
p
.
get
(
0
)
+
1900.0
;
vprp
.
template
get
<
3
>(
vprp
.
size
()
-
1
)[
2
][
2
]
=
p
.
get
(
0
)
+
101600.0
;
}
HDF5_writer
<
VECTOR_DIST
>
h5
;
// Save the vector
h5
.
save
(
"vector_dist.h5"
,
vpos
,
vprp
);
HDF5_reader
<
VECTOR_DIST
>
h5r
;
openfpm
::
vector_gpu
<
Point
<
3
,
float
>>
vpos2
;
openfpm
::
vector_gpu
<
aggregate
<
double
,
float
[
dim
],
size_t
,
float
[
dim
][
dim
]
>>
vprp2
;
size_t
g_m
=
0
;
h5r
.
load
(
"vector_dist.h5"
,
vpos2
,
vprp2
,
g_m
);
BOOST_REQUIRE_EQUAL
(
1024ul
,
vpos2
.
size
());
BOOST_REQUIRE_EQUAL
(
1024ul
,
vprp2
.
size
());
BOOST_REQUIRE_EQUAL
(
1024ul
,
g_m
);
// Check that vpos == vpos2 and vprp2 == vprp2
bool
check
=
true
;
for
(
size_t
i
=
0
;
i
<
vpos
.
size
()
;
i
++
)
{
Point
<
3
,
float
>
p1
=
vpos
.
get
(
i
);
Point
<
3
,
float
>
p2
=
vpos2
.
get
(
i
);
check
&=
(
p1
==
p2
);
check
&=
(
vprp
.
template
get
<
1
>(
i
)[
0
]
==
vprp2
.
template
get
<
1
>(
i
)[
0
]);
check
&=
(
vprp
.
template
get
<
1
>(
i
)[
1
]
==
vprp2
.
template
get
<
1
>(
i
)[
1
]);
check
&=
(
vprp
.
template
get
<
1
>(
i
)[
2
]
==
vprp2
.
template
get
<
1
>(
i
)[
2
]);
check
&=
(
vprp
.
template
get
<
0
>(
i
)
==
vprp2
.
template
get
<
0
>(
i
));
check
&=
(
vprp
.
template
get
<
2
>(
i
)
==
vprp2
.
template
get
<
2
>(
i
));
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
0
][
0
]
==
vprp2
.
template
get
<
3
>(
i
)[
0
][
0
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
0
][
1
]
==
vprp2
.
template
get
<
3
>(
i
)[
0
][
1
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
0
][
2
]
==
vprp2
.
template
get
<
3
>(
i
)[
0
][
2
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
1
][
0
]
==
vprp2
.
template
get
<
3
>(
i
)[
1
][
0
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
1
][
1
]
==
vprp2
.
template
get
<
3
>(
i
)[
1
][
1
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
1
][
2
]
==
vprp2
.
template
get
<
3
>(
i
)[
1
][
2
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
2
][
0
]
==
vprp2
.
template
get
<
3
>(
i
)[
2
][
0
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
2
][
1
]
==
vprp2
.
template
get
<
3
>(
i
)[
2
][
1
]);
check
&=
(
vprp
.
template
get
<
3
>(
i
)[
2
][
2
]
==
vprp2
.
template
get
<
3
>(
i
)[
2
][
2
]);
}
BOOST_REQUIRE_EQUAL
(
check
,
true
);
}
BOOST_AUTO_TEST_SUITE_END
()
src/HDF5_wr/HDF5_writer_gd.hpp
View file @
821c4194
...
...
@@ -24,7 +24,7 @@ public:
const
openfpm
::
vector
<
device_grid
>
&
loc_grid
,
const
openfpm
::
vector
<
GBoxes
<
device_grid
::
dims
>>
&
gdb_ext
)
const
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
//Pack_request vector
size_t
req
=
0
;
...
...
src/HDF5_wr/HDF5_writer_unit_tests.hpp
View file @
821c4194
...
...
@@ -74,7 +74,7 @@ BOOST_AUTO_TEST_CASE( vector_dist_hdf5_save_test )
BOOST_AUTO_TEST_CASE
(
vector_dist_hdf5_load_test
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
openfpm
::
vector
<
Point
<
3
,
float
>>
vpos
;
openfpm
::
vector
<
aggregate
<
float
[
dim
]
>>
vprp
;
...
...
src/HDF5_wr/HDF5_writer_vd.hpp
View file @
821c4194
...
...
@@ -17,12 +17,12 @@ class HDF5_writer<VECTOR_DIST>
{
public:
template
<
unsigned
int
dim
,
typename
St
,
typename
prp
>
template
<
typename
vector_pos_type
,
typename
vector_prp_type
>
inline
void
save
(
const
std
::
string
&
filename
,
const
openfpm
::
vector
<
Point
<
dim
,
St
>>
&
v_pos
,
const
openfpm
::
vector
<
prp
>
&
v_prp
)
const
const
vector_pos_type
&
v_pos
,
const
vector_prp_type
&
v_prp
)
const
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
//Pack_request vector
size_t
req
=
0
;
...
...
src/Makefile.am
View file @
821c4194
LINKLIBS
=
$(PTHREAD_LIBS)
$(HDF5_LDFLAGS)
$(HDF5_LIBS)
$(OPT_LIBS)
$(BOOST_IOSTREAMS_LIB)
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
$(BOOST_THREAD_LIB)
LINKLIBS
=
$(PTHREAD_LIBS)
$(HDF5_LDFLAGS)
$(HDF5_LIBS)
$(OPT_LIBS)
$(BOOST_IOSTREAMS_LIB)
$(BOOST_LDFLAGS)
$(BOOST_PROGRAM_OPTIONS_LIB)
$(BOOST_THREAD_LIB)
$(CUDA_LIBS)
noinst_PROGRAMS
=
io
io_SOURCES
=
main.cpp ../../openfpm_vcluster/src/VCluster/VCluster.cpp ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/Memleak_check.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp
io_SOURCES
=
main.cpp ../../openfpm_vcluster/src/VCluster/VCluster.cpp ../../openfpm_devices/src/memory/
CudaMemory.cu ../../openfpm_devices/src/memory/
HeapMemory.cpp ../../openfpm_devices/src/Memleak_check.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp
io_CXXFLAGS
=
$(AM_CXXFLAGS)
$(CUDA_CFLAGS)
$(INCLUDES_PATH)
$(HDF5_CPPFLAGS)
$(BOOST_CPPFLAGS)
-I
/usr/local/include
io_CFLAGS
=
$(CUDA_CFLAGS)
io_LDADD
=
$(LINKLIBS)
io_LDADD
=
$(LINKLIBS)
nobase_include_HEADERS
=
RawReader/RawReader.hpp RawReader/RawReader_unit_tests.hpp CSVWriter/csv_multiarray.hpp CSVWriter/CSVWriter.hpp CSVWriter/is_csv_writable.hpp
\
GraphMLWriter/GraphMLWriter.hpp util/util.hpp util/GBoxes.hpp
\
...
...
src/Plot/Plot_unit_tests.hpp
View file @
821c4194
...
...
@@ -16,7 +16,7 @@ BOOST_AUTO_TEST_SUITE( plot_unit_test )
BOOST_AUTO_TEST_CASE
(
google_chart_bar_string
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -74,7 +74,7 @@ BOOST_AUTO_TEST_CASE( google_chart_bar_string )
BOOST_AUTO_TEST_CASE
(
google_chart
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -130,7 +130,7 @@ BOOST_AUTO_TEST_CASE( google_chart )
BOOST_AUTO_TEST_CASE
(
google_chart2
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE( google_chart2 )
BOOST_AUTO_TEST_CASE
(
google_chart3
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -227,7 +227,7 @@ BOOST_AUTO_TEST_CASE( google_chart3 )
BOOST_AUTO_TEST_CASE
(
google_chart4
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -268,7 +268,7 @@ BOOST_AUTO_TEST_CASE( google_chart4 )
BOOST_AUTO_TEST_CASE
(
google_chart5
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -301,7 +301,7 @@ BOOST_AUTO_TEST_CASE( google_chart5 )
BOOST_AUTO_TEST_CASE
(
google_chart6
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -326,7 +326,7 @@ BOOST_AUTO_TEST_CASE( google_chart6 )
BOOST_AUTO_TEST_CASE
(
google_chart_with_inject_HTML
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -389,7 +389,7 @@ BOOST_AUTO_TEST_CASE( google_chart_with_inject_HTML )
BOOST_AUTO_TEST_CASE
(
google_chart_linear_plot
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -456,7 +456,7 @@ BOOST_AUTO_TEST_CASE( google_chart_linear_plot )
BOOST_AUTO_TEST_CASE
(
google_chart_linear_plot2
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
@@ -514,7 +514,7 @@ double f(double x)
BOOST_AUTO_TEST_CASE
(
plot_util
)
{
Vcluster
&
v_cl
=
create_vcluster
();
Vcluster
<>
&
v_cl
=
create_vcluster
();
if
(
v_cl
.
getProcessUnitID
()
!=
0
)
return
;
...
...
src/RawReader/RawReader_unit_tests.hpp
View file @
821c4194
...
...
@@ -15,7 +15,7 @@ BOOST_AUTO_TEST_SUITE( raw_reader_unit_test )
BOOST_AUTO_TEST_CASE
(
raw_reader_read_test
)
{