Skip to content

ENH: add support for fujitsu compiler to numpy.#17792

Merged
rgommers merged 5 commits intonumpy:masterfrom
t-karatsu:add_fujitsu_compiler
Dec 3, 2020
Merged

ENH: add support for fujitsu compiler to numpy.#17792
rgommers merged 5 commits intonumpy:masterfrom
t-karatsu:add_fujitsu_compiler

Conversation

@t-karatsu
Copy link
Contributor

Hello, this is my first post.
If I need to do something else about submitting PR, please let me know.

I would like to add support for Fujitsu compiler to numpy, so submitted the necessary changes.
Could you check if there are any questions or areas that need to be corrected?

@rgommers
Copy link
Member

rgommers commented Nov 25, 2020

Isn't this the Lahey/Fujitsu compiler already supported in fcompiler/lahey.py?

@t-karatsu
Copy link
Contributor Author

@rgommers
Thanks for your reply.

Isn't this the Lahey/Fujitsu compiler already supported in fcompiler/lahey.py?

No, it's different from the lahey/fujitsu compiler.
The new compiler registered is developed by Fujitsu and is used in A64FX on Fugaku. There is currently no HP that introduces this compiler.

Copy link
Member

@rgommers rgommers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it's different from the lahey/fujitsu compiler.
The new compiler registered is developed by Fujitsu and is used in A64FX on Fugaku.

Thanks, that helps. Could you add this info to the docstring of the file? Including a link to the current best source of information about it?

There is currently no HP that introduces this compiler.

That doesn't preclude inclusion here I think; there's no other good way to add compiler support and it's very low-overhead so I'm fine with merging this.

One question out of interest - if frt going to stay? Based on this article I'd expect gfortran support too, which may then become the default?

@t-karatsu
Copy link
Contributor Author

t-karatsu commented Dec 3, 2020

@rgommers

Could you add this info to the docstring of the file?

OK, I will add docstring to 'fujitsu.py'.
I'm planning to publish a following article introducing a64fx:
https://www.fujitsu.com/global/products/computing/servers/supercomputer/a64fx/

One question out of interest - if frt going to stay? Based on this article I'd expect gfortran support too, which may then become the default?

As you say, we can use the gcc compiler on Fugaku, but we recommend using the Fujitsu compiler to maximize the performance of fugaku.

I just agree to support fugaku's gfortran in numpy.
I can't determine if a special implementation about gfortran is needed, so I'll ask the person in charge to consider gfortran support.

@rgommers
Copy link
Member

rgommers commented Dec 3, 2020

As you say, we can use the gcc compiler on Fugaku, but we recommend using the Fujitsu compiler to maximize the performance of fugaku.

That makes sense.

I just agree to support fugaku's gfortran in numpy.

Sounds good, thank you.

Copy link
Member

@rgommers rgommers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM now, merging. Thanks @t-karatsu

@rgommers rgommers merged commit 4950fd1 into numpy:master Dec 3, 2020
@rgommers rgommers added this to the 1.21.0 release milestone Dec 3, 2020
@charris charris added the 09 - Backport-Candidate PRs tagged should be backported label Dec 3, 2020
@charris charris modified the milestones: 1.21.0 release, 1.20.0 release Dec 3, 2020
@t-karatsu
Copy link
Contributor Author

Thanks for merge!

@migueldiascosta
Copy link

@t-karatsu this PR added compiler support but performance is still poor because the fujitsu linear algebra library is not detected.

Of course, one can build e.g. openblas with the fujitsu compiler and it get's better, but it would be better to use the fujitsu linear algebra library, no? As I understand it, it's always (?) bundled with the compiler?

The patch in https://gist.github.com/migueldiascosta/3bf319b9eecd888957db50933d2d701f worked for me at Fugaku, and performance is indeed better - is this something you've worked on and/or are interested in testing/reviewing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants