[Bug 1389016] Review Request: libxsmm - Library for small matrix-matrix multiplications on Intel x86_64 (e.g. for cp2k)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1389016

Hans Pabst <hans.pabst@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hans.pabst@xxxxxxxxx



--- Comment #8 from Hans Pabst <hans.pabst@xxxxxxxxx> ---
Thank you all for reviewing/maintaining this package!

I was looking at Dave's work/logs since he wrapped it up as a package for the
first time, and tried to "anticipate" what could be useful for his next wrap.
Over time this became (but is not limited to):

* Fairly generic target (by default) when building the library (SSE3) to cover
a general Linux distribution i.e., critical code is CPUID dispatched.
* Previously static decisions made at build time became CPUID dispatched.
* Versioned .so files to adhere to standards (major, minor scheme).
* Warnings during build for "sophisticated" (over-specified) build options,
which could have inadvertent effects e.g. OMP=1 when building the library.

However, this indirect interaction has some limits. Please do not hesitate to
bring up any issue or annoyance you would like to see fixed
(https://github.com/hfp/libxsmm/issues). As a side-note, the relatively
sophisticated GCC build flags are mostly paranoid and present due to "good
practice". Though, any critical code is either independent of the compiler used
(JIT) or hand-crafted.

As a (likely repeated) comment: the library (under Linux) is agnostic with
respect to a specific LAPACK/BLAS implementation. Perhaps your (copr)
dependence on OpenBLAS is just to trigger a presence for *some* BLAS...

I wonder about the item "Large documentation must go in a -doc subpackage.
Large could be size (~1MB) or number of files." - to me it looks like 3 files
with below 200KB in total.

If you don't mind, perhaps you guys can adjust the package description (see
below for convenience). This is because the functionality now covers deep
learning primitives, and small JIT generated convolutions as well.

---
Short description: Library targeting Intel Architecture (x86) for small, dense
or sparse matrix multiplications, and small convolutions.

Description: LIBXSMM is a library for small dense and small sparse
matrix-matrix multiplications as well as for deep learning primitives such as
small convolutions targeting Intel Architecture (x86). The library is
generating code for the following instruction set extensions: Intel SSE, Intel
AVX, Intel AVX2, IMCI (KNCni) for Intel Xeon Phi coprocessors ("KNC"), and
Intel AVX‑512 as found in the Intel Xeon Phi processor family ("KNL") and
future Intel Xeon processors. Small convolutions are currently only optimized
for Intel AVX‑512. Historically the library was solely targeting the Intel Many
Integrated Core Architecture "MIC") using intrinsic functions, meanwhile
optimized assembly code is targeting all aforementioned instruction set
extensions (static code generation), and Just‑In‑Time (JIT) code generation is
targeting Intel AVX and beyond.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]