Proofs of elapsed time public service. Used by Spacemesh consensus protocol.
People
Repo info
Activity
Dec 14 2021 12:24
daonb added as member
Dec 14 2021 12:24
IlyaVi added as member
Dec 14 2021 12:24
sudachen added as member
Dec 14 2021 12:24
AmitShaul added as member
Dec 14 2021 12:24
y0sher added as member
Oct 11 2020 15:27
tal-m removed as member
Oct 11 2020 15:27
moshababo removed as member
Oct 11 2020 15:27
liathoffman removed as member
Oct 11 2020 15:27
jlspacemesh-zz removed as member
Oct 11 2020 15:27
iddo333 removed as member
Jan 23 2020 07:10
liathoffman added as member
Nov 17 2019 19:47
zalmen removed as member
Nov 17 2019 19:41
zalmen added as member
Mar 10 2019 11:22
gitcoinbot commented #23
Mar 10 2019 11:22
gitcoinbot commented #23
Mar 10 2019 11:22
gitcoinbot commented #23
Mar 10 2019 11:21
gitcoinbot commented #23
Mar 10 2019 11:17
gitcoinbot commented #20
Mar 10 2019 10:08
gitcoinbot commented #2
Mar 10 2019 10:08
gitcoinbot commented #2
Roger
@mortdeus
hacky way youd have to do it otherwise. would this be considered a valid alternative solution?
@avive ?
facundomedica
@facundomedica
If you do it from C you have to use the Intel intrinsics, if you do it directly from ASM just the instructions
Roger
@mortdeus
i wasnt intending to use C.
my plan is to extend the compiler to compile the more optimal has me
hash code when applicable
Roger
@mortdeus
regardi
regarding the overhead concern, the best way to avoid that is to modify the compiler directly because there are certain compiler directives that you can use when compiling the runtime
also who
there are functions in the commit that return 0 which i presume means unimplemented? panic("unimplemented") is fara
So the idea is to use cpuid() to obtain the runtime CPU capabilities (e.g. AVX2, SHA) and pick the best implementation of sha256 for the supported architecture. So, for example of the SHA intel extension is reported by the CPU then the code-base that uses these instructions will be used....
So I
The bounty is open until the 15th and you are welcome to join
The readme for the project I mentioned above explains what cpu caps are supported. With this bounty, we extended the lib to support the Intel SHA extensions which are only implemented on modern AMD zen-arch cpus....
so these are cpu caps based optimizations. Beyond that there are go-specific optimizations that @svenski123 did to improve the pref on any supported cpu arch...
Roger
@mortdeus
Right, i understand the cpuid at runtime approach. I just ha
i just know alot about Go's internal workings and how to implement this solution to get the best performance
as somebody mentioned earlier, this function is likely to be called in rapidly which generates way more garbage than one would initially expect
Roger
@mortdeus
Go assembler is not like other assembly languages where what you write is basically what you get back in machine code
go assembler is better thought of as a textual representation of the plan 9 compilers IR bitcode
Roger
@mortdeus
therefore everytime you call this hash function, you create a call into the runtime.
Roger
@mortdeus
so im just going to build this functionality into the compiler. that way we get the most efficient code.
youll see what i mean when i submit my PR
facundomedica
@facundomedica
That would be really cool to see, I'm looking forward to it!
are computed from TestSequential() linked above....
Please send me a private message with request to access the AMD dev server and I will send you the access key and ssh instructions
Aviv Eyal
@avive
So we care about the perf of single sha256 execution for 32 bytes of input and not the streaming perf of sha256 working over large amount of data
Aviv Eyal
@avive
Hi all, we are extending the contest by 3 more days until Jan 18th to allow a developer working on the task to complete his entry.
Exciting to already see the nice performance improvements
Roger
@mortdeus
why is it important that the performance is fast if it's not in consideration of hashing large amounts of data?
Aviv Eyal
@avive
Roger - we need it for the Spacemesh proofs of space time protocol which involved generation of proofs of space and proofs of space-time. Please see https://spacemesh.io for more info
@facundomedica@svenski123 - thank you for your great submissions to the POET contest! As the original contest date was today and you were the first 2 who submitted improved code - we tipped each of you with 5ETH award per the contest terms.
We are giving few more days for a 3rd contestant to have a chance to submit an improvement before announcing 1st place contest winner
Roger
@mortdeus
So ive glanced over the white paper and have a somewhat vague understanding of how proof of spacetime works. here let me move this to lobby
Aviv Eyal
@avive
If you are here then it means you were interested in proofs of elapsed time at some point and we announce this first here for you! We are happy to announce our POET summer of rust coding contest! See: https://spacemesh.io/summer-of-rust-contest/ - Open if you are a US developer who is interested to work on the Spacemesh protocol full time