New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failed to build xsmm_avx (libxsmm_spmdm.c) #170
Comments
Hello Yves, you may adjust
You can also simply clone the "local" branch of the following:
If you do the latter, you need to eventually update the SHA256-sum in |
Wait a second, I misread your output and thought it is related to AVX-512 compilation. However, it looks like you built GCC 6.x on an outdated Linux distribution (outdated wrt GNU Bintools). Please build GNU Bintools from source, and add/prepend the bin-folder to your PATH environment variable. |
Background of the issue that you discovered is that the GNU Bintools assembler does not understand AVX2 instructions (I guess it's from the 2010 era or so). |
Thanks for the quick follow-up. Outdated bintools might indeed be the
problem (ubuntu 14.04 stopped at gcc 4.8, and is still relatively
ubiquitous today). I had assumed that the alternatives tool would swap that
out as well.
Is there a way to compile tensorflow-libxsmm with the Intel compiler?
…On Mon, May 22, 2017 at 7:05 PM, Hans Pabst ***@***.***> wrote:
Background of the issue that you discovered is that the GNU Bintools
assembler does not understand AVX2 instructions (I guess it's from the 2010
era or so).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#170 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAC1_00HvQpdqxUgFxmgSLf9PRn66Httks5r8cBpgaJpZM4NinkI>
.
|
I think so, but I have not tried it myself. It might be time-consuming, if one piece of the puzzle does not fit (the Binutils problem will be solved for sure, but who knows what else happens). Sorry, I said "Bintools" before, but meant "Binutils". I really recommend you to use GCC (the one you already prepared), to compile Binutils ( After configure and
Then you can |
quick note: the instructions it chokes on are AVX512 (zmm registers), even though I only passed -mavx2 -mfma |
Yes, that's our technology enabling certain code paths using Intrinsics (we have a few intrinsic based codes in addition to JIT kernels e.g., in our SPMDM domain.). We apply the target flags for selected functions to enable compilers such as GCC for Intrinsics beyond the static/main code path (and dispatch according to CPUID). Though, with ICC you can use any kind of Intrinsic independent of the -m or -x code path. However, this is not true for GCC or Clang. It of course chokes if your assembler is outdated (Binutils). I will probably take this issue and incorporate additional check in our build system, and emit a message about outdated Binutils. Have you had any luck with newer Binutils? |
I am still getting the same assembler errors using bintutils-2.28 as I was with binutils-2.24 before. |
…static code path (1), or to enable the maximum supported by the compiler. A foreign build system may define LIBXSMM_INTRINSICS_STATIC (-DLIBXSMM_INTRINSICS_STATIC), and downgrade Intrinsic support level to the static code path only. This patch may help to get around problems like issue #170 or issue #171.
You may add |
I was able to successfully compile libxsmm (tensorflow-xsmm actually) using that new flag, thanks! |
Thank you for sharing the final status! |
I cannot seem to build tensorflow-libxsmm, as libxsmm itself fails to build. I have tried multiple options including getting the latest libxsmm-master archive and cloning benoit's branch.
Host: ubuntu 14.04 LTS (trusty), using gcc-6.2.0 (switched using update-alternative)
CPU: Haswell Xeon
bazel build command:
bazel build --verbose_failures -c opt --copt=-O3 --copt=-fopenmp-simd --copt=-DLIBXSMM_OPENMP_SIMD --linkopt=-pthread --define tensorflow_xsmm=1 --define eigen_xsmm=1 --define tensorflow_xsmm_backward=1 --copt=-mfma --copt=-mavx2 //tensorflow/tools/pip_package:build_pip_package
The text was updated successfully, but these errors were encountered: