Skip to content
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

[$] Enable and optimize for Linux on Z (s390x) #69

Closed
edelsohn opened this issue Jun 16, 2021 · 7 comments
Closed

[$] Enable and optimize for Linux on Z (s390x) #69

edelsohn opened this issue Jun 16, 2021 · 7 comments

Comments

@edelsohn
Copy link

Blst currently supports x86_64 and ARMv8 through the asm routines. This is a feature request to add asm routines to enable Blst for the IBMz aka s390x architecture and demonstrate appropriate, good performance.
A financial bounty from IBM is open for discussion.

@hellosupranational
Copy link
Member

Hi @edelsohn . Please reach out to [email protected] and we'd be happy to discuss this opportunity.

@dot-asm
Copy link
Collaborator

dot-asm commented Jul 26, 2021

demonstrate appropriate, good performance.

Demonstrating things is not this project's priority. Performance specifically is not even the top-most priority. It's obviously very high on the scale, yet, it's superseded by the security. In the sense that if the two are in conflict, it's resolved in favour of the latter.

In case the above assertion feels disingenuous, the unspoken part of the mission statement is that the path to security guarantees we aim for goes through assembly. But then it's just that taking it to assembly and not making it high-performance would be kind of a waste of the effort. In other words the primary reason for taking it to assembly is actually security, and we aim for provable one, with performance being a byproduct. Very much desired and appreciated, but a byproduct nevertheless.

Just in case it wasn't clear, yes, it does mean that platforms without assembly support won't enjoy the same security guarantees.

@dot-asm dot-asm closed this as completed Jul 26, 2021
@edelsohn
Copy link
Author

I'm at a loss to understand this hostile response. The issue was not meant to be insulting. I simply wanted to start a conversation about adding IBMz assembly support and to define the level of solution for the issue. supranational suggested a commercial relationship, which I have forwarded to the IBM team. I am sorry if there was a miscommunication.

@dannywillems
Copy link
Contributor

dannywillems commented Jan 4, 2022

Hi @dot-asm @edelsohn. Is there any update on this? In the issue #99 I recently opened, I was specifically looking at building blst without ASM because we are facing issues with s390x support.
Tezos uses the OCaml binding ocaml-bls12-381 and some bakers run on IBM s390x architectures. As we moved to blst, these users can not run a baker anymore.

@dot-asm
Copy link
Collaborator

dot-asm commented Jan 4, 2022

There seem to be cross-misunderstanding. -D__BLST_NO_ASM__ mentioned in #99 doesn't work on x86_64 [and aarch64], but it does work on s390x. At least in sense that Rust build is exercised on Travis upon each commit (and there is no reason to believe that other bindings wouldn't work).

@jyg007
Copy link

jyg007 commented Jan 5, 2022

naive question, is it something required to have the same security guarantee for the s390x build ?

@dot-asm
Copy link
Collaborator

dot-asm commented Jan 5, 2022

is it something required to have the same security guarantee for the s390x build ?

Ultimately this is the question to s390x users. But I would reckon that IBM can decide on its own:-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants