This is an automated email from the ASF dual-hosted git repository.

marong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git


The following commit(s) were added to refs/heads/main by this push:
     new ff3fe203a3 [GLUTEN-10452][VL] Remove HBM support (#10478)
ff3fe203a3 is described below

commit ff3fe203a3fe10a669150f4b7745fb26f3cdea11
Author: Rong Ma <[email protected]>
AuthorDate: Mon Aug 18 13:41:33 2025 +0100

    [GLUTEN-10452][VL] Remove HBM support (#10478)
---
 cpp/CMake/BuildMemkind.cmake          | 135 ----------------------------------
 cpp/CMakeLists.txt                    |   1 -
 cpp/core/CMakeLists.txt               |   7 --
 cpp/core/memory/HbwAllocator.cc       |  92 -----------------------
 cpp/core/memory/HbwAllocator.h        |  48 ------------
 cpp/core/memory/MemoryAllocator.cc    |   5 --
 cpp/core/tests/CMakeLists.txt         |   4 -
 cpp/core/tests/HbwAllocatorTest.cc    |  94 -----------------------
 cpp/velox/memory/VeloxMemoryManager.h |   4 -
 dev/builddeps-veloxbe.sh              |   6 --
 docs/get-started/Velox.md             |   2 +-
 docs/get-started/VeloxHBM.md          |  30 --------
 12 files changed, 1 insertion(+), 427 deletions(-)

diff --git a/cpp/CMake/BuildMemkind.cmake b/cpp/CMake/BuildMemkind.cmake
deleted file mode 100644
index 2f2248de6f..0000000000
--- a/cpp/CMake/BuildMemkind.cmake
+++ /dev/null
@@ -1,135 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-include(ExternalProject)
-
-if("${MAKE}" STREQUAL "")
-  if(NOT MSVC)
-    find_program(MAKE make)
-  endif()
-endif()
-
-macro(build_hwloc)
-  message(STATUS "Building hwloc from source")
-  set(HWLOC_BUILD_VERSION "2.8.0")
-  set(HWLOC_BUILD_SHA256_CHECKSUM
-      "311d44e99bbf6d269c2cbc569d073978d88352bc31d51e31457d4df94783172d")
-  set(HWLOC_SOURCE_URL
-      
"https://github.com/open-mpi/hwloc/archive/refs/tags/hwloc-${HWLOC_BUILD_VERSION}.tar.gz";
-  )
-  set(HWLOC_LIB_NAME "hwloc")
-  set(HWLOC_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/hwloc_ep-install")
-  set(HWLOC_SOURCE_DIR "${HWLOC_PREFIX}/src/hwloc_ep")
-  set(HWLOC_INCLUDE_DIR "${HWLOC_SOURCE_DIR}/include")
-  set(HWLOC_LIB_DIR "${HWLOC_SOURCE_DIR}/hwloc/.libs")
-  set(HWLOC_STATIC_LIB_NAME
-      
"${CMAKE_STATIC_LIBRARY_PREFIX}${HWLOC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-  )
-  set(HWLOC_STATIC_LIB_TARGETS
-      "${HWLOC_SOURCE_DIR}/src/.libs/${HWLOC_STATIC_LIB_NAME}")
-  set(HWLOC_CONFIGURE_ARGS
-      "--prefix=${HWLOC_PREFIX}" "--with-pic" "--enable-static"
-      "--disable-shared" "--enable-plugins")
-  ExternalProject_Add(
-    hwloc_ep
-    PREFIX ${HWLOC_PREFIX}
-    URL ${HWLOC_SOURCE_URL}
-    URL_HASH "SHA256=${HWLOC_BUILD_SHA256_CHECKSUM}"
-    SOURCE_DIR ${HWLOC_SOURCE_DIR}
-    CONFIGURE_COMMAND ./configure ${HWLOC_CONFIGURE_ARGS}
-    BUILD_COMMAND ${MAKE}
-    BUILD_BYPRODUCTS ${HWLOC_STATIC_LIB_TARGETS}
-    BUILD_IN_SOURCE 1)
-
-  ExternalProject_Add_Step(
-    hwloc_ep pre-configure
-    COMMAND ./autogen.sh
-    DEPENDEES download
-    DEPENDERS configure
-    WORKING_DIRECTORY ${HWLOC_SOURCE_DIR})
-
-  # The include directory must exist before it is referenced by a target.
-  file(MAKE_DIRECTORY "${HWLOC_INCLUDE_DIR}")
-
-  add_library(hwloc::hwloc STATIC IMPORTED)
-  set_target_properties(
-    hwloc::hwloc
-    PROPERTIES IMPORTED_LOCATION "${HWLOC_LIB_DIR}/${HWLOC_STATIC_LIB_NAME}"
-               INTERFACE_INCLUDE_DIRECTORIES "${HWLOC_INCLUDE_DIR}")
-
-  add_dependencies(hwloc::hwloc hwloc_ep)
-endmacro()
-
-macro(build_memkind)
-  message(STATUS "Building Memkind from source")
-  set(MEMKIND_BUILD_VERSION "v1.14.0")
-  set(MEMKIND_BUILD_SHA256_CHECKSUM
-      "ab366b20b5a87ea655483631fc762ba6eb59eb6c3a08652e643f1ee3f06a6a12")
-  set(MEMKIND_SOURCE_URL
-      
"https://github.com/memkind/memkind/archive/refs/tags/${MEMKIND_BUILD_VERSION}.tar.gz";
-  )
-  set(MEMKIND_LIB_NAME "memkind")
-  set(MEMKIND_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/memkind_ep-install")
-  set(MEMKIND_SOURCE_DIR "${MEMKIND_PREFIX}/src/memkind_ep")
-  set(MEMKIND_INCLUDE_DIR "${MEMKIND_SOURCE_DIR}/include")
-  set(MEMKIND_LIB_DIR "${MEMKIND_SOURCE_DIR}/.libs")
-  set(MEMKIND_STATIC_LIB_NAME
-      
"${CMAKE_STATIC_LIBRARY_PREFIX}${MEMKIND_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
-  )
-  set(MEMKIND_STATIC_LIB_TARGETS
-      "${MEMKIND_SOURCE_DIR}/src/.libs/${MEMKIND_STATIC_LIB_NAME}")
-  set(MEMKIND_CONFIGURE_ARGS "--prefix=${MEMKIND_PREFIX}" "--with-pic"
-                             "--enable-static")
-  ExternalProject_Add(
-    memkind_ep
-    PREFIX ${MEMKIND_PREFIX}
-    URL ${MEMKIND_SOURCE_URL}
-    URL_HASH "SHA256=${MEMKIND_BUILD_SHA256_CHECKSUM}"
-    SOURCE_DIR ${MEMKIND_SOURCE_DIR}
-    CONFIGURE_COMMAND
-      ${CMAKE_COMMAND} -E env LDFLAGS=-L${HWLOC_LIB_DIR} env
-      CFLAGS=-I${HWLOC_INCLUDE_DIR} env CXXFLAGS=-I${HWLOC_INCLUDE_DIR}
-      ./configure ${MEMKIND_CONFIGURE_ARGS}
-    BUILD_COMMAND ${MAKE}
-    BUILD_BYPRODUCTS ${MEMKIND_STATIC_LIB_TARGETS}
-    BUILD_IN_SOURCE 1)
-
-  ExternalProject_Add_Step(
-    memkind_ep pre-configure
-    COMMAND ./autogen.sh
-    DEPENDEES download
-    DEPENDERS configure
-    WORKING_DIRECTORY ${MEMKIND_SOURCE_DIR})
-
-  add_dependencies(memkind_ep hwloc::hwloc)
-
-  # The include directory must exist before it is referenced by a target.
-  file(MAKE_DIRECTORY "${MEMKIND_INCLUDE_DIR}")
-
-  add_library(memkind::memkind STATIC IMPORTED)
-  set_target_properties(
-    memkind::memkind
-    PROPERTIES IMPORTED_LOCATION 
"${MEMKIND_LIB_DIR}/${MEMKIND_STATIC_LIB_NAME}"
-               INTERFACE_INCLUDE_DIRECTORIES "${MEMKIND_INCLUDE_DIR}")
-  target_link_libraries(memkind::memkind INTERFACE hwloc::hwloc dl numa pthread
-                                                   daxctl)
-
-  add_dependencies(memkind::memkind memkind_ep)
-endmacro()
-
-build_hwloc()
-build_memkind()
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 50b95d3f63..acec63b4fe 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -48,7 +48,6 @@ option(BUILD_EXAMPLES "Build Examples" OFF)
 option(BUILD_BENCHMARKS "Build Benchmarks" OFF)
 option(ENABLE_JEMALLOC_STATS "Prints Jemalloc stats for debugging" OFF)
 option(BUILD_GLOG "Build Glog from Source" OFF)
-option(ENABLE_HBM "Enable HBM allocator" OFF)
 option(ENABLE_QAT "Enable QAT for de/compression" OFF)
 option(ENABLE_IAA "Enable IAA for de/compression" OFF)
 option(ENABLE_GCS "Enable GCS" OFF)
diff --git a/cpp/core/CMakeLists.txt b/cpp/core/CMakeLists.txt
index 5264eeb63e..d628a880dd 100644
--- a/cpp/core/CMakeLists.txt
+++ b/cpp/core/CMakeLists.txt
@@ -178,13 +178,6 @@ endif()
 find_arrow_lib(${ARROW_LIB_NAME})
 find_arrow_lib(${ARROW_BUNDLED_DEPS})
 
-if(ENABLE_HBM)
-  include(BuildMemkind)
-  target_sources(gluten PRIVATE memory/HbwAllocator.cc)
-  target_link_libraries(gluten PRIVATE memkind::memkind)
-  add_definitions(-DGLUTEN_ENABLE_HBM)
-endif()
-
 if(ENABLE_QAT)
   include(BuildQATzip)
   include(BuildQATZstd)
diff --git a/cpp/core/memory/HbwAllocator.cc b/cpp/core/memory/HbwAllocator.cc
deleted file mode 100644
index ef0dc82b8f..0000000000
--- a/cpp/core/memory/HbwAllocator.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "HbwAllocator.h"
-
-#include <hbwmalloc.h>
-#include <cstdlib>
-#include <iostream>
-#include "MemoryAllocator.h"
-
-namespace gluten {
-
-std::shared_ptr<MemoryAllocator> HbwMemoryAllocator::newInstance() {
-  auto memkindHbwNodes = std::getenv("MEMKIND_HBW_NODES");
-  if (memkindHbwNodes == nullptr) {
-    std::cout << "MEMKIND_HBW_NODES not set. Use StdMemoryAllocator." << 
std::endl;
-    return std::make_shared<StdMemoryAllocator>();
-  }
-  std::cout << "MEMKIND_HBW_NODES set. Use StdMemoryAllocator." << std::endl;
-  return std::make_shared<HbwMemoryAllocator>();
-}
-
-bool HbwMemoryAllocator::allocate(int64_t size, void** out) {
-  *out = hbw_malloc(size);
-  bytes_ += size;
-  return true;
-}
-
-bool HbwMemoryAllocator::allocateZeroFilled(int64_t nmemb, int64_t size, 
void** out) {
-  *out = hbw_calloc(nmemb, size);
-  bytes_ += size;
-  return true;
-}
-
-bool HbwMemoryAllocator::allocateAligned(uint64_t alignment, int64_t size, 
void** out) {
-  if (hbw_posix_memalign(out, alignment, size) != 0) {
-    return false;
-  }
-  bytes_ += size;
-  return true;
-}
-
-bool HbwMemoryAllocator::reallocate(void* p, int64_t size, int64_t newSize, 
void** out) {
-  *out = hbw_realloc(p, newSize);
-  bytes_ += (newSize - size);
-  return true;
-}
-
-bool HbwMemoryAllocator::reallocateAligned(void* p, uint64_t alignment, 
int64_t size, int64_t newSize, void** out) {
-  if (newSize <= 0) {
-    return false;
-  }
-  void* reallocatedP = nullptr;
-  if (hbw_posix_memalign(&reallocatedP, alignment, newSize) != 0) {
-    return false;
-  }
-  memcpy(reallocatedP, p, std::min(size, newSize));
-  hbw_free(p);
-  *out = reallocatedP;
-  bytes_ += (newSize - size);
-  return true;
-}
-
-bool HbwMemoryAllocator::free(void* p, int64_t size) {
-  hbw_free(p);
-  bytes_ -= size;
-  return true;
-}
-
-int64_t HbwMemoryAllocator::getBytes() const {
-  return bytes_;
-}
-
-int64_t HbwMemoryAllocator::peakBytes() const {
-  return 0;
-}
-
-} // namespace gluten
diff --git a/cpp/core/memory/HbwAllocator.h b/cpp/core/memory/HbwAllocator.h
deleted file mode 100644
index e50a71bd56..0000000000
--- a/cpp/core/memory/HbwAllocator.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include "MemoryAllocator.h"
-
-namespace gluten {
-
-class HbwMemoryAllocator final : public MemoryAllocator {
- public:
-  static std::shared_ptr<MemoryAllocator> newInstance();
-
-  bool allocate(int64_t size, void** out) override;
-
-  bool allocateZeroFilled(int64_t nmemb, int64_t size, void** out) override;
-
-  bool allocateAligned(uint64_t alignment, int64_t size, void** out) override;
-
-  bool reallocate(void* p, int64_t size, int64_t newSize, void** out) override;
-
-  bool reallocateAligned(void* p, uint64_t alignment, int64_t size, int64_t 
newSize, void** out) override;
-
-  bool free(void* p, int64_t size) override;
-
-  int64_t getBytes() const override;
-
-  int64_t peakBytes() const override;
-
- private:
-  std::atomic_int64_t bytes_{0};
-};
-
-} // namespace gluten
diff --git a/cpp/core/memory/MemoryAllocator.cc 
b/cpp/core/memory/MemoryAllocator.cc
index 1bd16216dc..0ca27085b2 100644
--- a/cpp/core/memory/MemoryAllocator.cc
+++ b/cpp/core/memory/MemoryAllocator.cc
@@ -16,7 +16,6 @@
  */
 
 #include "MemoryAllocator.h"
-#include "HbwAllocator.h"
 #include "utils/Macros.h"
 
 namespace gluten {
@@ -200,11 +199,7 @@ int64_t StdMemoryAllocator::peakBytes() const {
 }
 
 std::shared_ptr<MemoryAllocator> defaultMemoryAllocator() {
-#if defined(GLUTEN_ENABLE_HBM)
-  static std::shared_ptr<MemoryAllocator> alloc = 
HbwMemoryAllocator::newInstance();
-#else
   static std::shared_ptr<MemoryAllocator> alloc = 
std::make_shared<StdMemoryAllocator>();
-#endif
   return alloc;
 }
 
diff --git a/cpp/core/tests/CMakeLists.txt b/cpp/core/tests/CMakeLists.txt
index 407045d9f9..ac3c719db2 100644
--- a/cpp/core/tests/CMakeLists.txt
+++ b/cpp/core/tests/CMakeLists.txt
@@ -13,9 +13,5 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-if(ENABLE_HBM)
-  add_test_case(hbw_allocator_test SOURCES HbwAllocatorTest.cc)
-endif()
-
 add_test_case(round_robin_partitioner_test SOURCES 
RoundRobinPartitionerTest.cc)
 add_test_case(object_store_test SOURCES ObjectStoreTest.cc)
diff --git a/cpp/core/tests/HbwAllocatorTest.cc 
b/cpp/core/tests/HbwAllocatorTest.cc
deleted file mode 100644
index b3a0e23c5f..0000000000
--- a/cpp/core/tests/HbwAllocatorTest.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <gtest/gtest.h>
-#include <cstdlib>
-
-#include "memory/HbwAllocator.h"
-#include "memory/MemoryAllocator.h"
-
-class TestHbwAllocator : public ::testing::Test {
- protected:
-  void checkBytesAndFree(void*& buf, int64_t size) {
-    ASSERT_NE(buf, nullptr);
-    ASSERT_EQ(allocator_->getBytes(), size);
-    allocator_->free(buf, size);
-    ASSERT_EQ(allocator_->getBytes(), 0);
-    buf = nullptr;
-  }
-
-  std::shared_ptr<gluten::MemoryAllocator> allocator_;
-};
-
-class TestHbwAllocatorEnabled : public TestHbwAllocator {
- protected:
-  static void SetUpTestSuite() {
-    setenv("MEMKIND_HBW_NODES", "0", 1);
-  }
-
-  TestHbwAllocatorEnabled() {
-    allocator_ = gluten::defaultMemoryAllocator();
-  }
-};
-
-class TestHbwAllocatorDisabled : public TestHbwAllocator {
- protected:
-  static void SetUpTestSuite() {
-    unsetenv("MEMKIND_HBW_NODES");
-  }
-
-  TestHbwAllocatorDisabled() {
-    allocator_ = gluten::defaultMemoryAllocator();
-  }
-};
-
-TEST_F(TestHbwAllocatorEnabled, TestHbwEnabled) {
-  auto ptr = std::dynamic_pointer_cast<gluten::HbwMemoryAllocator>(allocator_);
-  ASSERT_NE(ptr, nullptr);
-}
-
-TEST_F(TestHbwAllocatorDisabled, TestHbwDisabled) {
-  unsetenv("MEMKIND_HBW_NODES");
-  allocator_ = gluten::defaultMemoryAllocator();
-  auto ptr = std::dynamic_pointer_cast<gluten::StdMemoryAllocator>(allocator_);
-  ASSERT_NE(ptr, nullptr);
-}
-
-TEST_F(TestHbwAllocatorEnabled, TestAllocateHbm) {
-  setenv("MEMKIND_HBW_NODES", "0", 1);
-  allocator_ = gluten::defaultMemoryAllocator();
-
-  const size_t size = 1024 * 1024; // 1M of data
-  void* buf = nullptr;
-
-  allocator_->allocate(size, &buf);
-  checkBytesAndFree(buf, size);
-
-  allocator_->allocateAligned(64, size, &buf);
-  checkBytesAndFree(buf, size);
-
-  allocator_->allocateZeroFilled(1, size, &buf);
-  checkBytesAndFree(buf, size);
-
-  allocator_->allocate(size, &buf);
-  allocator_->reallocate(buf, size, size << 1, &buf);
-  checkBytesAndFree(buf, size << 1);
-
-  allocator_->allocate(size, &buf);
-  allocator_->reallocateAligned(buf, 64, size, size << 1, &buf);
-  checkBytesAndFree(buf, size << 1);
-}
diff --git a/cpp/velox/memory/VeloxMemoryManager.h 
b/cpp/velox/memory/VeloxMemoryManager.h
index 15e298629e..570d1ec43a 100644
--- a/cpp/velox/memory/VeloxMemoryManager.h
+++ b/cpp/velox/memory/VeloxMemoryManager.h
@@ -105,10 +105,6 @@ class VeloxMemoryManager final : public MemoryManager {
 
   void dropMemoryPool(const std::string& name);
 
-#ifdef GLUTEN_ENABLE_HBM
-  std::unique_ptr<VeloxMemoryAllocator> wrappedAlloc_;
-#endif
-
   std::unique_ptr<AllocationListener> listener_;
   std::unique_ptr<AllocationListener> blockListener_;
 
diff --git a/dev/builddeps-veloxbe.sh b/dev/builddeps-veloxbe.sh
index a5fdca73c3..309c3dc3e3 100755
--- a/dev/builddeps-veloxbe.sh
+++ b/dev/builddeps-veloxbe.sh
@@ -33,7 +33,6 @@ BUILD_VELOX_TESTS=OFF
 BUILD_VELOX_BENCHMARKS=OFF
 ENABLE_QAT=OFF
 ENABLE_IAA=OFF
-ENABLE_HBM=OFF
 ENABLE_GCS=OFF
 ENABLE_S3=OFF
 ENABLE_HDFS=OFF
@@ -93,10 +92,6 @@ do
         ENABLE_IAA=("${arg#*=}")
         shift # Remove argument name from processing
         ;;
-        --enable_hbm=*)
-        ENABLE_HBM=("${arg#*=}")
-        shift # Remove argument name from processing
-        ;;
         --enable_gcs=*)
         ENABLE_GCS=("${arg#*=}")
         shift # Remove argument name from processing
@@ -245,7 +240,6 @@ function build_gluten_cpp {
     -DBUILD_EXAMPLES=$BUILD_EXAMPLES \
     -DBUILD_BENCHMARKS=$BUILD_BENCHMARKS \
     -DENABLE_JEMALLOC_STATS=$ENABLE_JEMALLOC_STATS \
-    -DENABLE_HBM=$ENABLE_HBM \
     -DENABLE_QAT=$ENABLE_QAT \
     -DENABLE_IAA=$ENABLE_IAA \
     -DENABLE_GCS=$ENABLE_GCS \
diff --git a/docs/get-started/Velox.md b/docs/get-started/Velox.md
index 0fda15ef87..862bea2970 100644
--- a/docs/get-started/Velox.md
+++ b/docs/get-started/Velox.md
@@ -594,4 +594,4 @@ This feature has been tested through a series of tests, and 
we are collecting mo
 
 # Accelerators
 
-Please refer [HBM](VeloxHBM.md) [QAT](VeloxQAT.md) [IAA](VeloxIAA.md) for 
details
+Please refer [QAT](VeloxQAT.md) [IAA](VeloxIAA.md) for details
diff --git a/docs/get-started/VeloxHBM.md b/docs/get-started/VeloxHBM.md
deleted file mode 100644
index 7056bb2fb0..0000000000
--- a/docs/get-started/VeloxHBM.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: page
-title: HBM Support in Velox Backend
-nav_order: 1
-parent: Getting-Started
----
-# High-Bandwidth Memory (HBM) support
-
-Gluten supports allocating memory on HBM. This feature is optional and is 
disabled by default. It is implemented on top of [Memkind 
library](http://memkind.github.io/memkind/). You can refer to memkind's 
[readme](https://github.com/memkind/memkind#memkind) for more details.
-
-# Build Gluten with HBM
-
-Gluten will internally build and link to a specific version of Memkind library 
and [hwloc](https://github.com/open-mpi/hwloc). Other dependencies should be 
installed on Driver and Worker node first:
-
-```bash
-sudo apt install -y autoconf automake g++ libnuma-dev libtool numactl unzip 
libdaxctl-dev
-```
-
-After the set-up, you can now build Gluten with HBM. Below command is used to 
enable this feature
-
-```bash
-cd /path/to/gluten
-
-## The script builds four jars for spark 3.2.2, 3.3.1, 3.4.3 and 3.5.1.
-./dev/buildbundle-veloxbe.sh --enable_hbm=ON
-```
-
-## Configure and enable HBM in Spark Application
-
-At runtime, `MEMKIND_HBW_NODES` enviroment variable is detected for 
configuring HBM NUMA nodes. For the explaination to this variable, please refer 
to memkind's manual page. This can be set for all executors through spark conf, 
e.g. `--conf spark.executorEnv.MEMKIND_HBW_NODES=8-15`. Note that memory 
allocation fallback is also supported and cannot be turned off. If HBM is 
unavailable or fills up, the allocator will use default(DDR) memory.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to