Publishing 2019 R3 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / clDNN / src / gpu / concatenation_gpu.cpp
index a9c8958..c002a2f 100644 (file)
@@ -101,55 +101,56 @@ public:
     }
 };
 
-namespace {
-struct attach {
-    attach() {
-        implementation_map<concatenation>::add({
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::u8, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i32, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i64, format::yxfb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::u8, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i32, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i64, format::bfyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::u8, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i32, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i64, format::byxf), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::fyxb), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::fyxb), concatenation_gpu::create},
-            // 5D
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::bfzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::bfzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::bfzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i32, format::bfzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i64, format::bfzyx), concatenation_gpu::create},
-            // block f16 format
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::bfyx_f16), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::bfyx_f16), concatenation_gpu::create},
-            // MMAD
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::byxf_af32), concatenation_gpu::create},
-            // 6D
-            {std::make_tuple(engine_types::ocl, data_types::f32, format::bfwzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::f16, format::bfwzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::u8, format::bfwzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i8, format::bfwzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i32, format::bfwzyx), concatenation_gpu::create},
-            {std::make_tuple(engine_types::ocl, data_types::i64, format::bfwzyx), concatenation_gpu::create},
-        });
-    }
-    ~attach() {}
-};
-}  // namespace
-
-attach attach_impl;
+namespace detail {
+
+attach_concatenation_gpu::attach_concatenation_gpu() {
+    implementation_map<concatenation>::add({
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::u8, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i32, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i64, format::yxfb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::u8, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i32, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i64, format::bfyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::u8, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i32, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i64, format::byxf), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::fyxb), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::fyxb), concatenation_gpu::create},
+        // 5D
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::bfzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::bfzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::bfzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i32, format::bfzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i64, format::bfzyx), concatenation_gpu::create},
+        { std::make_tuple(engine_types::ocl, data_types::f32, format::bfzyx_f16), concatenation_gpu::create },
+        { std::make_tuple(engine_types::ocl, data_types::f16, format::bfzyx_f16), concatenation_gpu::create },
+        { std::make_tuple(engine_types::ocl, data_types::i8, format::bfzyx_f16), concatenation_gpu::create },
+        { std::make_tuple(engine_types::ocl, data_types::i32, format::bfzyx_f16), concatenation_gpu::create },
+        { std::make_tuple(engine_types::ocl, data_types::i64, format::bfzyx_f16), concatenation_gpu::create },
+        // block f16 format
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::bfyx_f16), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::bfyx_f16), concatenation_gpu::create},
+        // MMAD
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::byxf_af32), concatenation_gpu::create},
+        // 6D
+        {std::make_tuple(engine_types::ocl, data_types::f32, format::bfwzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::f16, format::bfwzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::u8, format::bfwzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i8, format::bfwzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i32, format::bfwzyx), concatenation_gpu::create},
+        {std::make_tuple(engine_types::ocl, data_types::i64, format::bfwzyx), concatenation_gpu::create},
+    });
+}
 
+}  // namespace detail
 }  // namespace gpu
 }  // namespace cldnn