Skip to content

Commit d7f0f34

Browse files
authored
[GPU] onednn rls-3.9pc integration (#30512)
### Details: - onednn commit a42b47ff2c (origin/rls-v3.9-pc) - fix build issue: ngen -- update cmake: add definition: NGEN_CONFIG -- update cmake: add include directory src/gpu/intel/jit/configm, src/gpu/intel/jit/gemm/include -- update header path from gpu/intel/jit/gemm/include to gpu/intel/jit/gemm/include/gemmstone -- replace namespace from dnnl::impl::gpu::intel::jit to gemmstone -- data_type_size() to size() of gemmstone::Type ### Tickets: - 165696
1 parent 792440b commit d7f0f34

File tree

4 files changed

+24
-22
lines changed

4 files changed

+24
-22
lines changed

src/plugins/intel_gpu/src/kernel_selector/kernels/sdpa/sdpa_kernel_micro.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ void SDPAKernelMicro::init_microkernels(const sdpa_params& params, micro::Packag
312312
if (params.conf.is_kv_compressed && !kq_common_scales) {
313313
const auto scale_dt = convert_type(params.key_cache_comp_scale.GetDType());
314314
problem_kq.Ta_scale = scale_dt;
315-
problem_kq.A_scale.alignment = micro::data_type_size(scale_dt);
315+
problem_kq.A_scale.alignment = scale_dt.size();
316316

317317
problem_kq.A_scale.layout = micro::MatrixLayout::T;
318318
problem_kq.aScale2D = true;
@@ -321,7 +321,7 @@ void SDPAKernelMicro::init_microkernels(const sdpa_params& params, micro::Packag
321321
if (params.conf.is_kv_compressed && params.conf.use_asymmetric_quantization) {
322322
const auto zp_dt = convert_type(params.key_cache_comp_zp.GetDType());
323323
problem_kq.Tao = zp_dt;
324-
problem_kq.AO.alignment = micro::data_type_size(zp_dt);
324+
problem_kq.AO.alignment = zp_dt.size();
325325
problem_kq.AO.layout = micro::MatrixLayout::T;
326326
problem_kq.aoPtrDims = kq_common_zp ? 0 : 2;
327327
problem_kq.aOffset = micro::ABOffset::Calc;
@@ -378,15 +378,15 @@ void SDPAKernelMicro::init_microkernels(const sdpa_params& params, micro::Packag
378378
if (params.conf.is_kv_compressed && !vs_common_scales) {
379379
auto scale_dt = convert_type(params.value_cache_comp_scale.GetDType());
380380
problem_vs.Ta_scale = scale_dt;
381-
problem_vs.A_scale.alignment = micro::data_type_size(scale_dt);
381+
problem_vs.A_scale.alignment = scale_dt.size();
382382
problem_vs.A_scale.layout = micro::MatrixLayout::N;
383383
problem_vs.aScale2D = true;
384384
}
385385

386386
if (params.conf.is_kv_compressed && params.conf.use_asymmetric_quantization) {
387387
auto zp_dt = convert_type(params.value_cache_comp_zp.GetDType());
388388
problem_vs.Tao = zp_dt;
389-
problem_vs.AO.alignment = micro::data_type_size(zp_dt);
389+
problem_vs.AO.alignment = zp_dt.size();
390390
problem_vs.AO.layout = micro::MatrixLayout::N;
391391
problem_vs.aoPtrDims = vs_common_zp ? 0 : 2;
392392
problem_vs.aOffset = micro::ABOffset::Calc;

src/plugins/intel_gpu/src/kernel_selector/micro_utils.hpp

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,22 @@
1818
#endif
1919

2020
#include "gpu/intel/microkernels/package.hpp"
21-
#include "gpu/intel/jit/gemm/include/microkernel_provider.hpp"
21+
#include "gpu/intel/jit/gemm/include/gemmstone/microkernel_provider.hpp"
2222
#include "gpu/intel/microkernels/shim.hpp"
2323
#include "common/utils.hpp"
2424

2525
namespace micro {
2626

2727
using Package = dnnl::impl::gpu::intel::micro::Package;
28-
using HWInformation = dnnl::impl::gpu::intel::jit::HWInformation;
29-
using GEMMProblem = dnnl::impl::gpu::intel::jit::GEMMProblem;
30-
using ABOffset = dnnl::impl::gpu::intel::jit::ABOffset;
31-
using GEMMStrategy = dnnl::impl::gpu::intel::jit::GEMMStrategy;
28+
using HWInformation = gemmstone::HWInformation;
29+
using GEMMProblem = gemmstone::GEMMProblem;
30+
using ABOffset = gemmstone::ABOffset;
31+
using GEMMStrategy = gemmstone::GEMMStrategy;
3232
using GEMMProtocol = dnnl::impl::gpu::intel::micro::GEMMProtocol;
33-
using MatrixLayout = dnnl::impl::gpu::intel::jit::MatrixLayout;
34-
using Type = dnnl::impl::gpu::intel::jit::Type;
35-
using SizeParams = dnnl::impl::gpu::intel::jit::SizeParams;
36-
using StrategyRequirement = dnnl::impl::gpu::intel::jit::StrategyRequirement;
33+
using MatrixLayout = gemmstone::MatrixLayout;
34+
using Type = gemmstone::Type;
35+
using SizeParams = gemmstone::SizeParams;
36+
using StrategyRequirement = gemmstone::StrategyRequirement;
3737
using ShimOptions = dnnl::impl::gpu::intel::micro::ShimOptions;
3838
using HostLanguage = dnnl::impl::gpu::intel::micro::HostLanguage;
3939
using Setting = dnnl::impl::gpu::intel::micro::Setting;
@@ -74,15 +74,11 @@ struct MicroKernelPackage {
7474
inline Package select_gemm_microkernel(GEMMProtocol protocol, HWInformation hw_info, SizeParams sizes, const GEMMProblem &problem,
7575
const std::vector<StrategyRequirement> &reqs = std::vector<StrategyRequirement>(),
7676
void (*strategyAdjuster)(GEMMStrategy &strategy) = nullptr) {
77-
return dnnl::impl::gpu::intel::jit::selectGEMMMicrokernel(protocol, hw_info, sizes, problem, reqs, strategyAdjuster);
77+
return gemmstone::selectGEMMMicrokernel(protocol, hw_info, sizes, problem, reqs, strategyAdjuster);
7878
}
7979

8080
static inline int alignment_for_ld(int ld) {
81-
return dnnl::impl::gpu::intel::jit::alignmentForLD(ld);
82-
}
83-
84-
static inline uint8_t data_type_size(micro::Type dt) {
85-
return uint8_t(dnnl::impl::types::data_type_size(micro::Type(dt).get_dnnl_type()));
81+
return gemmstone::alignmentForLD(ld);
8682
}
8783

8884
} // namespace micro

src/plugins/intel_gpu/thirdparty/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,19 @@ if(ENABLE_ONEDNN_FOR_GPU)
156156
)
157157
endif()
158158

159-
set(LIB_INCLUDE_DIRS "${ONEDNN_INSTALL_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src" "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src/gpu/intel/jit/ngen" "${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/third_party/ngen")
159+
set(LIB_INCLUDE_DIRS "${ONEDNN_INSTALL_DIR}/include"
160+
"${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src"
161+
"${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src/gpu/intel/jit/ngen"
162+
"${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src/gpu/intel/jit/config"
163+
"${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/src/gpu/intel/jit/gemm/include"
164+
"${CMAKE_CURRENT_SOURCE_DIR}/onednn_gpu/third_party/ngen")
160165
set(LIB_DEFINITIONS ENABLE_ONEDNN_FOR_GPU
161166
DNNL_DLL
162167
DNNL_DLL_EXPORTS
163168
DNNL_ENABLE_CPU_ISA_HINTS
164169
DNNL_ENABLE_MAX_CPU_ISA
165-
DNNL_X64=1)
170+
DNNL_X64=1
171+
NGEN_CONFIG)
166172
add_library(onednn_gpu_tgt INTERFACE)
167173
set_target_properties(onednn_gpu_tgt PROPERTIES
168174
INTERFACE_LINK_LIBRARIES $<BUILD_INTERFACE:${ONEDNN_GPU_LIB_PATH}>

0 commit comments

Comments
 (0)