Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
b1afb57
Rework GDAL and PROJ helper file deployment (#7656)
simoneves Dec 12, 2023
de2e422
Fix crash occurs when max_cpu_slab_size is set to a buffer pool size …
paul-aiyedun Dec 11, 2023
a7beaa9
Crash in SpeculativeTopNBlacklist::add() w/ parallel executors (#7659)
yoonminnam Dec 13, 2023
009ff44
Fix intermittent MLCategoricalRegressionFunctionsTest.ML_PREDICT fail…
mattpulver Dec 13, 2023
6091e92
Allow use of Vulkan Shader Debug Printf Extension (#7638)
simoneves Dec 13, 2023
479f4dc
Fix build when Parquet disabled (#7660)
simoneves Dec 13, 2023
8bf7dd2
Fix GDAL and PROJ helper file packaging and reading (#7662)
simoneves Dec 15, 2023
8ccc89d
Fix intermittent FastAllocator error in distributed mode (#7663)
paul-aiyedun Dec 18, 2023
69d820f
Sort on non-projected column causes a wrong query result in some edge…
yoonminnam Dec 18, 2023
e4c8080
Fixup crash when left joining views and then filtering (#7636)
yoonminnam Dec 21, 2023
86f8187
Improve a logic that switches to baseline hash join (#7665)
yoonminnam Dec 21, 2023
04554bb
Implement MODE (statistical function) on GPU with flag (#7333)
mattpulver Jan 3, 2024
68a2d37
Initialize std::from_chars() reference to avoid uninitialized value w…
mattpulver Jan 4, 2024
9edb754
Lower the upper bound (#7674)
yoonminnam Jan 10, 2024
9d555fa
Enable use of CPU buffer manager for output buffer allocations by def…
paul-aiyedun Jan 8, 2024
c38a383
Update Java dependencies (#7671)
paul-aiyedun Jan 11, 2024
e063971
Pre-requisite changes for boost 1.84 update (#7667)
steveblackmon-mapd Jan 11, 2024
38333fb
Update Vulkan SDK, glslang, and SPRIV-cross to 1.3.268
steveblackmon-mapd Nov 21, 2023
b484bfd
Support `LLM_TRANSFORM` function (#7669)
yoonminnam Jan 16, 2024
67c1f94
Add warpcore to Thirdparty/licenses/. (#7676)
mattpulver Jan 17, 2024
f1af29c
Add logs for GPU memory allocation (#7677)
yoonminnam Jan 17, 2024
492b7db
Geo Deps Updates for 8.0 (#7465)
simoneves Jan 18, 2024
cf91400
Suppress error: ‘this’ pointer is null when compiling UdfCompiler.cpp…
mattpulver Jan 18, 2024
ce73c09
Remove local copy of Vulkan Memory Allocator (#7684)
steveblackmon-mapd Jan 21, 2024
16deb67
Throw an exception during a codegen for a query having an intermediat…
yoonminnam Jan 22, 2024
c668ecc
Cast join column causes a server crash (#7679)
yoonminnam Jan 23, 2024
ae16de9
S3 Parquet HeavyConnect: allow concurrent file opens (#7637)
mattgara Jan 23, 2024
086b5cb
Deps: Support Ubuntu 22.04 and 23.10, use openssl 3.0.10, boost 1.84,…
steveblackmon-mapd Jan 24, 2024
f5d5ab9
Bump Vulkan SDK and spirv-cross to 1.3.275 (#7687)
steveblackmon-mapd Jan 24, 2024
eb4eeeb
Sanitizer suppressions 8.0 deps (#7689)
steveblackmon-mapd Jan 25, 2024
489ba89
Remove unnecessary restriction on LHS expr when handling `IN` clause …
yoonminnam Jan 27, 2024
7f98b07
Log cuda driver version at startup (#7692)
yoonminnam Jan 29, 2024
3f14c9d
Fixup a crash when multiple window functions needs to push their inpu…
yoonminnam Jan 29, 2024
c8427be
Additional logs related to CUDA device buffer addresses when calling …
yoonminnam Jan 30, 2024
a4a9cf6
Log additional diagnostic info on cuda kernel launch errors. (#7693)
mattpulver Jan 30, 2024
2d3bcba
Additional logs for data movement between host and device (#7691)
yoonminnam Jan 31, 2024
872adf0
Fix deps issues running static heavydb builds on Ubuntu 22.04+ (#7695)
steveblackmon-mapd Jan 31, 2024
3f88134
Update heavydb Dockerfiles for 8.0 dependencies (#7701)
steveblackmon-mapd Feb 3, 2024
aa64e3a
Change FindThrust to handle identical major and minor versions (#7702)
steveblackmon-mapd Feb 4, 2024
12b968d
Skip Select.GroupBy Test with valgrind
steveblackmon-mapd Feb 4, 2024
aa138fe
Fix several HeavyAI install issues with 8.0 dependencies (#7706)
steveblackmon-mapd Feb 6, 2024
f11d1d1
Add columns system table (#7680)
mattgara Feb 6, 2024
b8fb655
Fix loop join top-k sort bug (#7672)
mattpulver Feb 7, 2024
b4e8850
Change LLM_TRANSFORM prompt to question
yoonminnam Feb 7, 2024
8aec242
Cardinality cache cannot differentiate two similar queries (#7699)
yoonminnam Feb 8, 2024
eb85529
Workaround for ResultSet id/address mismatch in In-Situ Polygon Rende…
simoneves Feb 8, 2024
42df2ac
Fix pyheavydb test failure and update version number (#7668)
jack-mapd Feb 9, 2024
19040af
Add support for table and column comments (#7694)
mattgara Feb 10, 2024
7490db7
ERM does not handle the resource request after it throws the "Resourc…
yoonminnam Feb 13, 2024
a2c551b
Change default res-gpu-mem value from 384MB to 768MB (#7719)
simoneves Feb 14, 2024
ba8ef53
Include comments in `SHOW CREATE TABLE` (#7717)
mattgara Feb 14, 2024
58c00d8
Implement GRANT/REVOKE for SELECT COLUMN (#7566)
mattgara Feb 15, 2024
8e4f36f
Fix data race between QueryDispatchQueue submitter and worker threads…
mattpulver Feb 16, 2024
7bb2938
Install gpg-agent in Dockerfile.cpu (#7723)
steveblackmon-mapd Feb 16, 2024
0de381d
Add support for Ada and Hopper Architectures (#7700)
paul-aiyedun Feb 16, 2024
f1a9277
Finalize GEOS version and packaging for 8.0 (#7722)
simoneves Feb 17, 2024
8171c2d
Deps: bump sqlite3 to 3.45.1 (#7727)
steveblackmon-mapd Feb 19, 2024
82f15be
Fix oneDAL issues when C++20 enabled in heavydb builds (#7726)
steveblackmon-mapd Feb 19, 2024
0d00ce0
Do not use apt-key add in Dockerfile.jenkins-ssh
steveblackmon-mapd Feb 8, 2024
3303746
Server crash when passing `nullptr` of bucket range to `get_bucket_ke…
yoonminnam Feb 20, 2024
c167cd2
Simplify ParallelTopN sort logging (#7720)
yoonminnam Feb 20, 2024
9dadbf5
Managing `CPU_RESULT_MEM` of ERM resource type properly (#7711)
yoonminnam Feb 20, 2024
c4b188e
misc cleanup for not implemented functions (#7725)
yoonminnam Feb 21, 2024
b68c4ec
Add clangd cache folder to .gitignore
steveblackmon-mapd Feb 21, 2024
fa60ba6
Added more verbose logging for locks (#7724)
misiugodfrey Feb 22, 2024
934bb5c
Support fast count distinct allocator for unserialize resultset (#7715)
yoonminnam Feb 22, 2024
405bd3a
Restyle and general cleanup refactor of QueryDataLayout (#7728)
steveblackmon-mapd Feb 23, 2024
dab7af1
Changed catalog function to return table names instead of TDs (#7730)
misiugodfrey Feb 26, 2024
66c463e
Fix FindNVTX.cmake and rebrand nvtx_helpers (#7736)
steveblackmon-mapd Feb 27, 2024
70748ae
Avoid GDAL exit deadlock (#7731)
simoneves Feb 27, 2024
6bdcf45
Avoid fatal error when passing temp geo to ST_Contains etc. (#7737)
simoneves Feb 28, 2024
115ba2c
Use of parquet file creates fatal error (#7697)
mattgara Feb 29, 2024
12bb5c5
Revert "Skip Select.GroupBy Test with valgrind"
steveblackmon-mapd Feb 29, 2024
51f280d
Window function support on GPU - Phase #1 (#7167)
yoonminnam Feb 29, 2024
befe47a
Remove CudaEvent* from DeviceKernel (#7740)
yoonminnam Feb 29, 2024
2171285
Add missing HAVE_CUDA checks when building with TBB backed thrust (#7…
steveblackmon-mapd Feb 29, 2024
fb1c9f7
Import of parquet file crashes the instance (#7709)
mattgara Feb 29, 2024
429d52f
Change flatbuffers namespace to gdal_flatbuffers (#7735)
simoneves Feb 29, 2024
913559c
Better implementation of #7737 (#7739)
simoneves Feb 29, 2024
182c196
Extract concrete QueryDataTableSQL class (#7744)
steveblackmon-mapd Mar 3, 2024
2eb3e17
Skip logging D2H for varlen value fetching while resultset iteration …
yoonminnam Mar 4, 2024
4f2c2c8
Enable Graphics Operations in Table Functions (#7320)
simoneves Mar 5, 2024
c6474b9
Misiu/sio 1043/raster prototype (#7536)
misiugodfrey Mar 5, 2024
4d94345
Re-enable FlatGeobuf export by default (#7734)
simoneves Mar 6, 2024
6e76841
Implement column-level tracking (#7573)
mattgara Mar 6, 2024
add2eeb
Support multi-threaded command recording and submission (#7754)
steveblackmon-mapd Mar 7, 2024
6b9e538
Add jwt-cpp to ThirdParty
paul-aiyedun Mar 6, 2024
7a7e3c2
Fixed build by removing GFX Rendering and CPR dependencies
Aug 28, 2024
e06cbc2
Remove LLM Test
Aug 29, 2024
394fe19
Re-add LLM tests and support CPR dependency
Sep 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,6 @@ data/

# Python
*.egg-info/

# clangd
.cache/
5 changes: 5 additions & 0 deletions Analyzer/Analyzer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3796,6 +3796,11 @@ std::shared_ptr<Analyzer::Expr> UrlDecodeStringOper::deep_copy() const {
std::dynamic_pointer_cast<Analyzer::StringOper>(StringOper::deep_copy()));
}

std::shared_ptr<Analyzer::Expr> LLMTransformStringOper::deep_copy() const {
return makeExpr<Analyzer::LLMTransformStringOper>(
std::dynamic_pointer_cast<Analyzer::StringOper>(StringOper::deep_copy()));
}

std::shared_ptr<Analyzer::Expr> TryStringCastOper::deep_copy() const {
return makeExpr<Analyzer::TryStringCastOper>(
std::dynamic_pointer_cast<Analyzer::StringOper>(StringOper::deep_copy()));
Expand Down
20 changes: 20 additions & 0 deletions Analyzer/Analyzer.h
Original file line number Diff line number Diff line change
Expand Up @@ -2549,6 +2549,26 @@ class UrlDecodeStringOper : public StringOper {
std::vector<std::string> getArgNames() const override { return {"operand"}; }
};

class LLMTransformStringOper : public StringOper {
public:
LLMTransformStringOper(const std::vector<std::shared_ptr<Analyzer::Expr>>& operands)
: StringOper(SqlStringOpKind::LLM_TRANSFORM, operands) {
if (operands.size() != 2) {
throw std::runtime_error(
"LLM_TRANSFORM must contain two operands: a string column and a "
"prompt as string literal");
}
CHECK(operands.back()->get_type_info().is_none_encoded_string());
}

LLMTransformStringOper(const std::shared_ptr<Analyzer::StringOper>& string_oper)
: StringOper(string_oper) {}

std::shared_ptr<Analyzer::Expr> deep_copy() const override;

std::vector<std::string> getArgNames() const override { return {"operand"}; }
};

class TryStringCastOper : public StringOper {
public:
TryStringCastOper(const SQLTypeInfo& ti, const std::shared_ptr<Analyzer::Expr>& operand)
Expand Down
62 changes: 47 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,16 @@ add_custom_target(clean-all
COMMAND ${CMAKE_BUILD_TOOL} clean
)

# Find dependency path (required for boost and geo files)
find_file(MapdDepsVersion_FILE mapd_deps_version.txt CMAKE_PREFIX_PATH NO_CACHE)
if(NOT MapdDepsVersion_FILE)
message(WARNING "Build could NOT find deps version file mapd_deps_version.txt in \"${CMAKE_PREFIX_PATH}\"")
message(WARNING "Unable to locate dependencies path")
else()
get_filename_component(MAPD_DEPS_PATH "${MapdDepsVersion_FILE}" DIRECTORY)
message(STATUS "Found dependencies path: ${MAPD_DEPS_PATH}")
endif()

macro(set_alternate_linker linker)
find_program(LINKER_EXECUTABLE ld.${USE_ALTERNATE_LINKER} ${USE_ALTERNATE_LINKER})
if(LINKER_EXECUTABLE)
Expand All @@ -136,12 +146,7 @@ macro(set_alternate_linker linker)
endmacro()

macro(InstallVersionFile)
# `touch mapd_deps_version.txt` from build dir to silence warning.
find_file(MapdDepsVersion_FILE mapd_deps_version.txt PATH ${CMAKE_BINARY_DIR} NO_CACHE)

if(NOT MapdDepsVersion_FILE)
message(WARNING "Build could NOT find deps version file mapd_deps_version.txt")
else()
if(MapdDepsVersion_FILE)
message(STATUS "Found deps version file ${MapdDepsVersion_FILE}")
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/version)
set(HEAVY_DEPS_CUSTOM ${CMAKE_BINARY_DIR}/version/heavyai_deps_version.txt)
Expand Down Expand Up @@ -219,9 +224,10 @@ option(ENABLE_CUDA "Enable CUDA support" ON)
if(ENABLE_CUDA)
enable_language(CUDA)
include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
include_directories(ThirdParty/warpcore/include)
list(APPEND CUDA_LIBRARIES cuda)
list(APPEND CMAKE_CUDA_FLAGS --extended-lambda) # required by warpcore
add_definitions("-DHAVE_CUDA")

else()
set(CUDA_LIBRARIES "")
set(MAPD_PACKAGE_FLAGS "${MAPD_PACKAGE_FLAGS}-cpu")
Expand Down Expand Up @@ -289,7 +295,10 @@ if(ENABLE_CUDA)
60-virtual
70-virtual
75-virtual
80-virtual)
80-virtual
86-virtual
89-virtual
90-virtual)
list(APPEND MAPD_CUDA_OPTIONS -Wno-deprecated-gpu-targets)
message(STATUS "CUDA_ARCHITECTURES: ${CMAKE_CUDA_ARCHITECTURES}")
else()
Expand All @@ -300,6 +309,9 @@ if(ENABLE_CUDA)
-gencode=arch=compute_70,code=compute_70;
-gencode=arch=compute_75,code=compute_75;
-gencode=arch=compute_80,code=compute_80;
-gencode=arch=compute_86,code=compute_86;
-gencode=arch=compute_89,code=compute_89;
-gencode=arch=compute_90,code=compute_90;
-Wno-deprecated-gpu-targets)
message(STATUS "CUDA_COMPILATION_ARCH: ${CUDA_COMPILATION_ARCH}")
list(APPEND MAPD_CUDA_OPTIONS ${CUDA_COMPILATION_ARCH})
Expand Down Expand Up @@ -440,6 +452,7 @@ option(ENABLE_TORCH_TFS "Enable Torch system table functions" OFF)

option(ENABLE_PDAL "Enable PDAL support" ON)
option(ENABLE_POINT_CLOUD_TFS "Enable point cloud table functions" ON)
option(ENABLE_GFX_TFS "Enable graphics table functions" ON)

if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
# Clang will not complile these tests quickly enough to avoid timeout
Expand Down Expand Up @@ -605,7 +618,7 @@ else()
endif()

if (ENABLE_ML_MLPACK_TFS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif()

if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Expand Down Expand Up @@ -707,7 +720,7 @@ message(STATUS "Using CLANG_LIB: ${CLANG_LIB}")
# Deps builds use separate libs for each clang component, while some distros now bundle into a single lib
if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR NOT LLVM_LIB)
set(LLVM_COMPONENTS support mcjit core irreader option linker)
if(MSVC)
if(MSVC)
list(APPEND LLVM_COMPONENTS Passes)
endif(MSVC)
option(ENABLE_INTEL_JIT_LISTENER "Enable Intel Vtune JIT Listener" OFF)
Expand Down Expand Up @@ -756,6 +769,13 @@ endif()
find_package(Boost COMPONENTS log log_setup filesystem program_options regex system thread timer locale iostreams serialization REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

if(Boost_VERSION LESS 107500)
# BOOST_PP_VARIADICS is incorrectly set to 0 by <boost/preprocessor/config/config.hpp>
# when defined(__CUDACC__) prior to 1.75. Set it to 1 here so that
# Shared/define_enum_class.h can be used by cuda modules. This was fixed in Boost 1.75.
list(APPEND MAPD_DEFINITIONS "-DBOOST_PP_VARIADICS=1")
endif()

# Allow explicit include statements to access third party headers directly.
# Ex: raft/canonical/include/raft.h
include_directories(ThirdParty/)
Expand Down Expand Up @@ -958,6 +978,8 @@ if(NOT "${MAPD_EDITION_LOWER}" STREQUAL "os")
option(ENABLE_RENDERING "Build backend renderer" OFF)
if(ENABLE_RENDERING)
option(ENABLE_RENDER_TESTS "Build backend renderer tests" ON)
option(ENABLE_RENDER_LOGGER "Enable detailed render logging in debug builds" OFF)
option(ENABLE_SHADER_DEBUG_PRINTF "Enable Vulkan Shader Debug printf extension" OFF)

add_definitions("-DHAVE_RENDERING")
add_subdirectory(Rendering)
Expand Down Expand Up @@ -993,6 +1015,9 @@ else()
set(PROFILER_LIBS "")
endif()

# Set RPATH for all executables
set(CMAKE_INSTALL_RPATH "$ORIGIN/../ThirdParty/lib")

# Some subdirectories will add optional dependencies to initheavy so we want to declare
# it before subdirs since it is otherwise independent.
add_executable(initheavy initdb.cpp)
Expand All @@ -1004,6 +1029,17 @@ add_subdirectory(Calcite)
get_target_property(CalciteThrift_BINARY_DIR calciteserver_thrift BINARY_DIR)
include_directories(${CalciteThrift_BINARY_DIR})

# The variable USE_SYSTEM_CURL is used by the third party product 'cpr'
set(USE_SYSTEM_CURL ON CACHE BOOL "Use the system curl for faster builds")
find_package(cpr QUIET)
if(cpr_FOUND)
message(STATUS "Found CPR")
else()
message(STATUS "Using ThirdParty/cpr")
set(BUILD_CPR_TESTS OFF CACHE BOOL "Don't build cpr tests")
add_subdirectory(ThirdParty/cpr/cpr)
endif()

if(ENABLE_RUNTIME_LIBS)
if(ENABLE_TORCH_TFS)
if(NOT ENABLE_SYSTEM_TFS)
Expand Down Expand Up @@ -1122,10 +1158,6 @@ if(ENABLE_RENDERING AND ENABLE_RENDER_TESTS)
add_subdirectory(Tests/RenderTests)
endif()

if (ENABLE_MEMKIND OR ENABLE_RENDERING)
set(CMAKE_INSTALL_RPATH "$ORIGIN/../ThirdParty/lib")
endif()

add_executable(heavydb HeavyDB.cpp ${CMAKE_BINARY_DIR}/MapDRelease.h)
set_target_properties(heavydb PROPERTIES COMPILE_DEFINITIONS "${TIME_LIMITED_DEFINITIONS}")
InstallVersionFile()
Expand Down Expand Up @@ -1345,7 +1377,7 @@ set (JDBC_JAR "heavyai-jdbc-${OMNISCI_JAR_RELEASE_VERSION}.jar")
set (UTILITY_JAR "heavyai-utility-${OMNISCI_JAR_RELEASE_VERSION}.jar")

set(MVN_PATH_COMMAND "")
if(NOT MSVC)
if(NOT MSVC)
set(MVN_PATH_COMMAND "MVNPATH=${CMAKE_SOURCE_DIR}/java")
endif()

Expand Down
Loading