diff --git a/modules/perception/base/BUILD b/modules/perception/base/BUILD index f818646ee5f2b3137805454ab550a23011819c05..78edcceb9edf5b15fbc59afcda741392d6874d28 100644 --- a/modules/perception/base/BUILD +++ b/modules/perception/base/BUILD @@ -2,6 +2,29 @@ load("//tools:cpplint.bzl", "cpplint") package(default_visibility = ["//visibility:public"]) +cc_library( + name = "blob", + srcs = [ + "blob.cc", + ], + hdrs = [ + "blob.h", + ], + deps = [ + ":common", + ":syncedmem", + ], +) + +cc_library( + name = "common", + hdrs = [ + "common.h", + ], + deps = [ + ], +) + cc_library( name = "point_cloud", hdrs = [ @@ -91,4 +114,17 @@ cc_test( ], ) +cc_library( + name = "syncedmem", + srcs = [ + "syncedmem.cc", + ], + hdrs = [ + "syncedmem.h", + ], + deps = [ + ":common", + ], +) + cpplint() diff --git a/modules/perception/base/blob.cc b/modules/perception/base/blob.cc index 94bbbfa37c4fef24819a4dfb1f425ac4750124e0..d178a5288dcdf02c0c5bb9d131f0d0b61a8a6968 100644 --- a/modules/perception/base/blob.cc +++ b/modules/perception/base/blob.cc @@ -17,7 +17,6 @@ #include #include "modules/perception/base/blob.h" -#include "modules/perception/base/syncedmem.h" namespace apollo { namespace perception { diff --git a/modules/perception/base/blob.h b/modules/perception/base/blob.h index b39c5a2e9b0402c17e954eca971f6e44cc0f314e..dbaa190c121566eb8747ecb8d32072683ef44140 100644 --- a/modules/perception/base/blob.h +++ b/modules/perception/base/blob.h @@ -16,9 +16,7 @@ #ifndef MODULES_PERCEPTION_BASE_BLOB_H_ #define MODULES_PERCEPTION_BASE_BLOB_H_ -#include #include -#include #include #include diff --git a/modules/perception/base/common.h b/modules/perception/base/common.h index 8677f8d8503a3aa6a3e07ae909be8ff4f2362185..d48d48f1a289709b98a5b9c91feaab7405192c5f 100644 --- a/modules/perception/base/common.h +++ b/modules/perception/base/common.h @@ -17,7 +17,6 @@ #define MODULES_PERCEPTION_BASE_COMMON_H_ #include -#include "modules/perception/base/options_define.h" #ifndef PERCEPTION_CPU_ONLY diff --git a/modules/perception/base/syncedmem.h b/modules/perception/base/syncedmem.h index 4149fb10bfd3d7560da3d9c1f3569ed740f263f8..799937b2cb839ebd9eff6e7cfbe57a46c6058865 100644 --- a/modules/perception/base/syncedmem.h +++ b/modules/perception/base/syncedmem.h @@ -55,19 +55,26 @@ inline void PerceptionFreeHost(void* ptr, bool use_cuda) { */ class SyncedMemory { public: + enum SyncedHead { + UNINITIALIZED, + HEAD_AT_CPU, + HEAD_AT_GPU, + SYNCED + }; + explicit SyncedMemory(bool use_cuda); explicit SyncedMemory(size_t size, bool use_cuda); SyncedMemory(const SyncedMemory&) = delete; void operator=(const SyncedMemory&) = delete; - ~SyncedMemory(); + const void* cpu_data(); void set_cpu_data(void* data); const void* gpu_data(); void set_gpu_data(void* data); void* mutable_cpu_data(); void* mutable_gpu_data(); - enum SyncedHead { UNINITIALIZED, HEAD_AT_CPU, HEAD_AT_GPU, SYNCED }; + SyncedHead head() const { return head_; } void set_head(SyncedHead head) { head_ = head; } void set_head_gpu() { set_head(HEAD_AT_GPU); } @@ -80,9 +87,10 @@ class SyncedMemory { private: void check_device(); - void to_cpu(); void to_gpu(); + + private: void* cpu_ptr_; void* gpu_ptr_; size_t size_;