mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-12 17:26:00 +00:00
Add image to column kernel (#867)
* Add image to column kernel * Add instances, tests, profiler, example * Add client example * Several fixes of image to column * Fix variable name in device_image_to_column_impl * Several fixes of image to column profiler * Fix num_btype calculation * Make new mesaurements for correct bytes calculation
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
add_instance_library(device_image_to_column_instance
|
||||
device_image_to_column_nhwc_1d_instance.cpp
|
||||
device_image_to_column_nhwc_2d_instance.cpp
|
||||
device_image_to_column_nhwc_3d_instance.cpp
|
||||
)
|
||||
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
#include "ck/library/tensor_operation_instance/gpu/image_to_column/device_image_to_column_instance.hpp"
|
||||
#include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
|
||||
|
||||
namespace ck {
|
||||
namespace tensor_operation {
|
||||
namespace device {
|
||||
namespace instance {
|
||||
|
||||
void add_device_image_to_column_nhwc_1d_bf16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<1, GNWC, BF16, BF16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_bf16_instances<1, GNWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_1d_f16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<1, GNWC, F16, F16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f16_instances<1, GNWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_1d_f32_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<1, GNWC, F32, F32>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f32_instances<1, GNWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_1d_i8_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<1, GNWC, int8_t, int8_t>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_i8_instances<1, GNWC>{});
|
||||
}
|
||||
|
||||
} // namespace instance
|
||||
} // namespace device
|
||||
} // namespace tensor_operation
|
||||
} // namespace ck
|
||||
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
#include "ck/library/tensor_operation_instance/gpu/image_to_column/device_image_to_column_instance.hpp"
|
||||
#include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
|
||||
|
||||
namespace ck {
|
||||
namespace tensor_operation {
|
||||
namespace device {
|
||||
namespace instance {
|
||||
|
||||
void add_device_image_to_column_nhwc_2d_bf16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<2, GNHWC, BF16, BF16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_bf16_instances<2, GNHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_2d_f16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<2, GNHWC, F16, F16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f16_instances<2, GNHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_2d_f32_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<2, GNHWC, F32, F32>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f32_instances<2, GNHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_2d_i8_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<2, GNHWC, int8_t, int8_t>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_i8_instances<2, GNHWC>{});
|
||||
}
|
||||
|
||||
} // namespace instance
|
||||
} // namespace device
|
||||
} // namespace tensor_operation
|
||||
} // namespace ck
|
||||
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
// Copyright (c) 2018-2023, Advanced Micro Devices, Inc. All rights reserved.
|
||||
|
||||
#include "ck/library/tensor_operation_instance/gpu/image_to_column/device_image_to_column_instance.hpp"
|
||||
#include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
|
||||
|
||||
namespace ck {
|
||||
namespace tensor_operation {
|
||||
namespace device {
|
||||
namespace instance {
|
||||
|
||||
void add_device_image_to_column_nhwc_3d_bf16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<3, GNDHWC, BF16, BF16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_bf16_instances<3, GNDHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_3d_f16_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<3, GNDHWC, F16, F16>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f16_instances<3, GNDHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_3d_f32_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<3, GNDHWC, F32, F32>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_f32_instances<3, GNDHWC>{});
|
||||
}
|
||||
|
||||
void add_device_image_to_column_nhwc_3d_i8_instances(
|
||||
std::vector<std::unique_ptr<DeviceImageToColumn<3, GNDHWC, int8_t, int8_t>>>& instances)
|
||||
{
|
||||
add_device_operation_instances(instances, device_image_to_column_i8_instances<3, GNDHWC>{});
|
||||
}
|
||||
|
||||
} // namespace instance
|
||||
} // namespace device
|
||||
} // namespace tensor_operation
|
||||
} // namespace ck
|
||||
Reference in New Issue
Block a user