Skip to content
This repository was archived by the owner on Jun 12, 2023. It is now read-only.

Commit 82ef689

Browse files
Merge pull request #55 from Intel-HLS/dev
Version 0.4.0
2 parents b28795a + 3ba5d4f commit 82ef689

Some content is hidden

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

53 files changed

+12330
-1331
lines changed

Makefile

+49-16
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,21 @@ endif
1111

1212
# --- Configuration flags --- #
1313
CPPFLAGS = -std=gnu++11 -fPIC -fvisibility=hidden \
14-
-D_FILE_OFFSET_BITS=64
14+
-D_FILE_OFFSET_BITS=64
1515

1616
# For the Travis integration
1717
ifdef TRAVIS
1818
CPPFLAGS += --coverage
1919
endif
2020

2121
# --- Support for OpenMP --- #
22+
OPENMP =
2223
OPENMP_FLAG =
23-
ifeq ($(COMPILER), gcc)
24-
CPPFLAGS += -DOPENMP
25-
OPENMP_FLAG = -fopenmp
24+
ifeq ($(COMPILER), gcc)
25+
ifeq ($(OPENMP), 1)
26+
CPPFLAGS += -DHAVE_OPENMP
27+
OPENMP_FLAG = -fopenmp
28+
endif
2629
endif
2730

2831
# --- Debug/Release mode handler --- #
@@ -42,12 +45,27 @@ endif
4245
# --- Verbose mode handler --- #
4346
VERBOSE =
4447
ifeq ($(VERBOSE),1)
45-
CPPFLAGS += -DNVERBOSE
48+
CPPFLAGS += -DVERBOSE
49+
endif
50+
51+
# --- Use parallel sort --- #
52+
USE_PARALLEL_SORT =
53+
ifeq ($(USE_PARALLEL_SORT),1)
54+
CPPFLAGS += -DUSE_PARALLEL_SORT
55+
endif
56+
57+
# --- Support for MPI --- #
58+
MPI =
59+
ifeq ($(MPI),1)
60+
CPPFLAGS += -DHAVE_MPI
4661
endif
4762

4863
# --- Compilers --- #
4964
CXX = g++
5065

66+
# --- GTest Filters --- #
67+
GTEST_FILTER='*'
68+
5169
# --- Directories --- #
5270
CORE_INCLUDE_DIR = core/include
5371
CORE_INCLUDE_SUBDIRS = $(wildcard core/include/*)
@@ -87,10 +105,22 @@ ifeq ($(BUILD),release)
87105
EXAMPLES_OBJ_DIR = $(EXAMPLES_OBJ_REL_DIR)
88106
EXAMPLES_BIN_DIR = $(EXAMPLES_BIN_REL_DIR)
89107
endif
90-
TEST_SRC_SUBDIRS = $(wildcard test/src/*)
108+
TEST_INCLUDE_DIR = test/include
109+
TEST_INCLUDE_SUBDIRS = $(wildcard test/include/*)
91110
TEST_SRC_DIR = test/src
92-
TEST_OBJ_DIR = test/obj
93-
TEST_BIN_DIR = test/bin
111+
TEST_SRC_SUBDIRS = $(wildcard test/src/*)
112+
TEST_OBJ_DEB_DIR = test/obj/debug
113+
TEST_BIN_DEB_DIR = test/bin/debug
114+
ifeq ($(BUILD),debug)
115+
TEST_OBJ_DIR = $(TEST_OBJ_DEB_DIR)
116+
TEST_BIN_DIR = $(TEST_BIN_DEB_DIR)
117+
endif
118+
TEST_OBJ_REL_DIR = test/obj/release
119+
TEST_BIN_REL_DIR = test/bin/release
120+
ifeq ($(BUILD),release)
121+
TEST_OBJ_DIR = $(TEST_OBJ_REL_DIR)
122+
TEST_BIN_DIR = $(TEST_BIN_REL_DIR)
123+
endif
94124
DOXYGEN_DIR = doxygen
95125
DOXYGEN_MAINPAGE = $(DOXYGEN_DIR)/mainpage.dox
96126

@@ -99,7 +129,8 @@ INCLUDE_PATHS =
99129
CORE_INCLUDE_PATHS = $(addprefix -I, $(CORE_INCLUDE_SUBDIRS))
100130
EXAMPLES_INCLUDE_PATHS = -I$(EXAMPLES_INCLUDE_DIR)
101131
TEST_INCLUDE_PATHS = $(addprefix -I, $(CORE_INCLUDE_SUBDIRS))
102-
LIBRARY_PATHS =
132+
TEST_INCLUDE_PATHS += $(addprefix -I, $(TEST_INCLUDE_SUBDIRS))
133+
LIBRARY_PATHS =
103134

104135
ifdef TRAVIS
105136
LIBRARY_PATHS += --coverage
@@ -110,6 +141,7 @@ ZLIB = -lz
110141
OPENSSLLIB = -lcrypto
111142
GTESTLIB = -lgtest -lgtest_main
112143
MPILIB =
144+
PTHREADLIB = -pthread
113145

114146
# --- For the TileDB dynamic library --- #
115147
ifeq ($(OS), Darwin)
@@ -128,6 +160,7 @@ EXAMPLES_OBJ := $(patsubst $(EXAMPLES_SRC_DIR)/%.cc,\
128160
$(EXAMPLES_OBJ_DIR)/%.o, $(EXAMPLES_SRC))
129161
EXAMPLES_BIN := $(patsubst $(EXAMPLES_SRC_DIR)/%.cc,\
130162
$(EXAMPLES_BIN_DIR)/%, $(EXAMPLES_SRC))
163+
TEST_INCLUDE := $(foreach D,$(TEST_INCLUDE_SUBDIRS),$D/*.h)
131164
TEST_SRC := $(wildcard $(foreach D,$(TEST_SRC_SUBDIRS),$D/*.cc))
132165
TEST_OBJ := $(patsubst $(TEST_SRC_DIR)/%.cc, $(TEST_OBJ_DIR)/%.o, $(TEST_SRC))
133166

@@ -151,7 +184,7 @@ doc: doxyfile.inc
151184

152185
test: libtiledb $(TEST_BIN_DIR)/tiledb_test
153186
@echo "Running TileDB tests"
154-
@$(TEST_BIN_DIR)/tiledb_test
187+
@$(TEST_BIN_DIR)/tiledb_test --gtest_filter=$(GTEST_FILTER)
155188

156189
clean: clean_core clean_libtiledb \
157190
clean_test clean_doc clean_examples
@@ -204,7 +237,7 @@ $(CORE_LIB_DIR)/libtiledb.$(SHLIB_EXT): $(CORE_OBJ)
204237
@mkdir -p $(CORE_LIB_DIR)
205238
@echo "Creating dynamic library libtiledb.$(SHLIB_EXT)"
206239
@$(CXX) $(SHLIB_FLAGS) $(SONAME) -o $@ $^ $(LIBRARY_PATHS) $(MPILIB) \
207-
$(ZLIB) $(OPENSSLLIB) $(OPENMP_FLAG)
240+
$(PTHREADLIB) $(ZLIB) $(OPENSSLLIB) $(OPENMP_FLAG)
208241

209242
$(CORE_LIB_DIR)/libtiledb.a: $(CORE_OBJ)
210243
@mkdir -p $(CORE_LIB_DIR)
@@ -243,7 +276,7 @@ $(EXAMPLES_BIN_DIR)/%: $(EXAMPLES_OBJ_DIR)/%.o $(CORE_LIB_DIR)/libtiledb.a
243276
@mkdir -p $(EXAMPLES_BIN_DIR)
244277
@echo "Creating $@"
245278
@$(CXX) -std=gnu++11 -o $@ $^ $(LIBRARY_PATHS) $(MPILIB) $(ZLIB) \
246-
$(OPENSSLLIB) $(OPENMP_FLAG)
279+
$(PTHREADLIB) $(OPENSSLLIB) $(OPENMP_FLAG)
247280

248281
# --- Cleaning --- #
249282

@@ -264,8 +297,8 @@ $(TEST_OBJ_DIR)/%.o: $(TEST_SRC_DIR)/%.cc
264297
@mkdir -p $(dir $@)
265298
@echo "Compiling $<"
266299
@$(CXX) $(CPPFLAGS) $(OPENMP_FLAG) $(TEST_INCLUDE_PATHS) \
267-
$(INCLUDE_PATHS) -c $< -o $@
268-
@$(CXX) -MM $(TEST_INCLUDE_PATHS) \
300+
$(INCLUDE_PATHS) $(PTHREADLIB) -c $< -o $@
301+
@$(CXX) -MM $(TEST_INCLUDE_PATHS) $(PTHREADLIB) \
269302
$(CORE_INCLUDE_PATHS) $(INCLUDE_PATHS) $< > $(@:.o=.d)
270303
@mv -f $(@:.o=.d) $(@:.o=.d.tmp)
271304
@sed 's|.*:|$@:|' < $(@:.o=.d.tmp) > $(@:.o=.d)
@@ -276,8 +309,8 @@ $(TEST_OBJ_DIR)/%.o: $(TEST_SRC_DIR)/%.cc
276309
$(TEST_BIN_DIR)/tiledb_test: $(TEST_OBJ) $(CORE_LIB_DIR)/libtiledb.a
277310
@mkdir -p $(TEST_BIN_DIR)
278311
@echo "Creating test_cmd"
279-
@$(CXX) -std=gnu++11 -o $@ $^ $(LIBRARY_PATHS) $(MPILIB) $(ZLIB) \
280-
$(OPENSSLLIB) $(GTESTLIB) $(OPENMP_FLAG)
312+
@$(CXX) -o $@ $^ $(LIBRARY_PATHS) $(MPILIB) $(ZLIB) \
313+
$(PTHREADLIB) $(OPENSSLLIB) $(GTESTLIB) $(OPENMP_FLAG)
281314

282315
# --- Cleaning --- #
283316

core/include/array/aio_request.h

+9
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,15 @@ struct AIO_Request {
6161
void* completion_data_;
6262
/** A unique request id. */
6363
size_t id_;
64+
/**
65+
* It can be one of the following:
66+
* - TILEDB_ARRAY_READ
67+
* - TILEDB_ARRAY_READ_SORTED_COL
68+
* - TILEDB_ARRAY_READ_SORTED_ROW
69+
* - TILEDB_ARRAY_WRITE
70+
* - TILEDB_ARRAY_WRITE_UNSORTED
71+
*/
72+
int mode_;
6473
/**
6574
* Applicable only to read requests.
6675
* Indicates whether a buffer has overflowed during a read request.

0 commit comments

Comments
 (0)