Closed Realtyxxx closed 1 year ago
This repository is currently not actively maintained, because our developments are merged into https://github.com/oneapi-src/oneDNN If you just want to use oneDNN, please visit https://github.com/oneapi-src/oneDNN
Thank you.
So merged to which version at the most begin
@Realtyxxx
The first commit may be
Author: Kentaro Kawakami <kawakami.k@fujitsu.com>
Date: Fri Oct 16 13:50:50 2020 +0900
benchdnn: conv: avoid winograd implementation limitations check
Winograd is not supported for AArch64 at the moment.
, which was merged into v2.1.
Our implementation is basically for AArch64 SVE 512 instruction set, which are included in src/cpu/aarch64/jit*. Note that oneDNN does not include Xbyak_translator_aarch64 If you have any questions about Xbyak_translator_aarch64 for oneDNN, please ask in this repository, not https://github.com/oneapi-src/oneDNN
Thank you!
I'm very sorry for my previous reckless reply!🤝
Your reply has helped a lot, and I have the last question: can it be used and optimized for CPUs with other SVE lengths?
@Realtyxxx
oneDNN provides a suite of operation kernels required for deep learning for x64 (SSE41/AVX/AVX2/AVX512/AMX) CPUs. The types of operation kernels are listed in https://oneapi-src.github.io/oneDNN/group_dnnl_api_primitives.html#details-group-dnnl-api-primitives
At this time, Fujitsu has ported some of them for SVE 512. We have also ported only reorder
, binary
and eltwise
for SVE128/256.
Arm developers have been also participating in developing oneDNN for AArch64. They have been targeting to SVE256, and their implementation is also merged into oneDNN. Because Arm's implementation uses Arm Compute Library, you have to build oneDNN with Arm Compute Library for that case. Here https://github.com/oneapi-src/oneDNN/blob/01e82721b0420b76f4d11361fc5e5320ac720be0/.github/automation/.drone.yml#L32-L34 is a sample build instruction of oneDNN with Arm Compute Library.
Thank you for your patient reply! really helps me a lot!
Here's the place for your question, suggestion, a feature request or brief description of the problem. If you are submitting a defect report please fill all the sections below. For everything else feel free to remove everything below the line.
Environment
Intel MKL-DNN includes hardware-specific optimizations and may behave differently on depending on the compiler and build environment. Include the following information to help reproduce the issue:
lscpu
; if yourlscpu
does not list CPU flags, try runningcat /proc/cpuinfo | grep flags | sort -u
)uname -a
)gcc --version
)echo MKLROOT=$MKLROOT
)cmake --version
)git log -1 --format=%H
)on qemu docker ubuntu environment
Steps to reproduce
Please check that the issue is reproducible with the latest revision on master. Include all the steps to reproduce the issue. A short C/C++ program or modified unit tests demonstrating the issue will greatly help with the investigation.
Actual behavior
Describe the behavior you see.
Expected behavior
Describe the behavior you expect.
just follow the instructions and find this problem: /home/dev/files/binutils-2.38/bin/ld: ../src/libmkldnn.so.0.21: undefined reference to `mkldnn::impl::cpu::_ref_rnn_common_t<(mkldnn_prop_kind_t)64, (mkldnn_data_type_t)1, (mkldnn_data_type_t)1>::gemm(char, char, int, int, int, float, flo at const, int, float const, int, float, float*, int) const'