Commit 4ac1316f authored by Tat Dat Duong's avatar Tat Dat Duong
Browse files

refactor: move bplustree to be more generic

parent 0410c6b2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
#include "BPlusTree/Default.hpp"
#include "BTreeContainer/Default.hpp"
#include "TNL/Devices/Cuda.h"
#include "benchmark.hpp"
@@ -11,7 +12,8 @@ int main(int argc, char **argv) {
  Benchmark::execute<Benchmark::Device::Cuda, KeyType>(
      "btree_cuda_v7", [](auto &timer, auto input) {
        size_t size = getContainerSize(input.size(), Order);
        BTreeContainer<KeyType, ValueType, Order, TNL::Devices::Cuda> container(size);
        BTreeContainer<BNode, BNodeLatch, BPlusTree, KeyType, ValueType, Order, TNL::Devices::Cuda>
            container(size);

        Containers::Array<KeyType, TNL::Devices::Cuda> keys(input);
        Containers::Array<ValueType, TNL::Devices::Cuda> values(input);
+3 −1
Original line number Diff line number Diff line
#include "BPlusTree/Default.hpp"
#include "BTreeContainer/Default.hpp"
#include "TNL/Devices/Cuda.h"
#include "benchmark.hpp"
@@ -11,7 +12,8 @@ int main(int argc, char **argv) {
  Benchmark::execute<Benchmark::Device::Host, KeyType>(
      "btree_host_v7", [](auto &timer, auto input) {
        size_t size = getContainerSize(input.size(), Order);
        BTreeContainer<KeyType, ValueType, Order, TNL::Devices::Host> container(size);
        BTreeContainer<BNode, BNodeLatch, BPlusTree, KeyType, ValueType, Order, TNL::Devices::Host>
            container(size);

        Containers::Array<KeyType, TNL::Devices::Host> keys(input);
        Containers::Array<ValueType, TNL::Devices::Host> values(input);
+2 −2
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@
#include <TNL/Devices/Host.h>
#include <TNL/Exceptions/CudaSupportMissing.h>

#include "../BNode.hpp"
#include "../Constants.hpp"
#include "../Utils/Debugger.hpp"

@@ -12,7 +11,8 @@ using namespace TNL;

template <typename Object, typename Device> struct BNodeLatch;

template <typename KeyType, typename ValueType, size_t Order>
template <template <typename KeyType, typename ValueType, size_t Order> class BNode,
          typename KeyType, typename ValueType, size_t Order>
struct BNodeLatch<BNode<KeyType, ValueType, Order>, Devices::Cuda> {
  using BTreeNode = BNode<KeyType, ValueType, Order>;

+2 −2
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@
#include <TNL/Devices/Host.h>
#include <TNL/Exceptions/CudaSupportMissing.h>

#include "../BNode.hpp"
#include "../Constants.hpp"

using namespace TNL;

template <typename Object, typename Device> struct BNodeLatch;

template <typename KeyType, typename ValueType, size_t Order>
template <template <typename KeyType, typename ValueType, size_t Order> class BNode,
          typename KeyType, typename ValueType, size_t Order>
struct BNodeLatch<BNode<KeyType, ValueType, Order>, Devices::Host> {
  using BTreeNode = BNode<KeyType, ValueType, Order>;

+3 −4
Original line number Diff line number Diff line
#pragma once
#include "../BNode.hpp"

using namespace TNL;
#include <cstddef>

template <typename Object, typename Device> struct BNodeLatch {};

template <typename KeyType, typename ValueType, size_t Order, typename Device>
template <template <typename KeyType, typename ValueType, size_t Order> class BNode,
          typename KeyType, typename ValueType, size_t Order, typename Device>
struct BNodeLatch<BNode<KeyType, ValueType, Order>, Device> {};

#include "./BNodeLatchHost.hpp"
Loading