flame / blis

BLAS-like Library Instantiation Software Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Provide a ppc64le target

gdonval opened this issue · comments

Conda forge supports ppc64le as a target (power8 and above).

It would be nice if ppc64le could be provided as a BLIS target (just like e.g. x86_64 already is). We tried to activate it in conda-forge/blis-feedstock#27 but either checks fail (using power9) or the result is slow (generic).

There are no POWER8 specific kernels in BLIS and optimized kernels are available from power9.
There is one test failure during the make check (configure power9;make;) which is tracked in blis issue 621.
Can we use power9 as the target in conda-forge feedstock ?

Can we use power9 as the target in conda-forge feedstock ?

The power9 target segfaults. Can I provide multiple targets to the configure script or should they be bundled in a special config/ppc64le target?

The hold-up on this a lack of run-time detection of POWER architectures. PR #345 was created to add this but kind of fizzled. Anyone interested in updating and fleshing out that work?

Nisanth from IBM is working on fixing the test case failure reported in #621. That should help in creating a package for POWER9 target.

The hold-up on this a lack of run-time detection of POWER architectures. PR #345 was created to add this but kind of fizzled. Anyone interested in updating and fleshing out that work?

@devinamatthews I'm just trying to understand, since "configure auto" should now work for power7, power9 and power10, with this PR: #647 , is that sufficient to solve this issue (once the power9 check failures are fixed), or do we really need to complete PR #345 to fix this?

since "configure auto" should now work

I don't know if that is implied but a specific target (like configure powerpc) would be better for cross-compilation purposes.

is that sufficient to solve this issue (once the power9 check failures are fixed), or do we really need to complete PR #345 to fix this?

No, it's not sufficient. For binary distributions, you need runtime checks instead of build time checks since the processor at build time and runtime may be different

@isuruf Thanks for the clarification

Please have a look at this PR: #718
Please try it out and let me know if it suffices the use case.

PR #718 is merged to master now, which adds runtime selection of Power architectures (power10/power9/generic). This can be done by using the configure target "power".

power9 and power10 failures are also fixed by now in master.

@gdonval please have a look if your use case is satisfied now. If you have any questions, please let me know

Looks great, exactly what was needed, thanks!