kokkos / simd-math

Library for length agnostic SIMD intrinsic support and the corresponding math operations
Other
20 stars 10 forks source link

simd_mask(bool) constructors for sse,avx,avx512 #5

Closed alanw0 closed 4 years ago

alanw0 commented 4 years ago

Thanks Dan, no longer any need for my previous always-inline change, since I can override the macro from the stk-simd scope now. This commit just has the simd_mask(bool) constructors. I added the avx512 ones also.

I haven't attempted the ones for neon and vsx, but those will be needed.

ibaned commented 4 years ago

Oh shoot, I wish I'd seen this earlier. I just pushed my attempt at those same constructors, although I used pretty different instructions. Let me know if you think they should be different.

alanw0 commented 4 years ago

ok. No problem. I don't know which ones are better, I just copied the ones from Tupek's implementation. I'll try yours with our unit tests and see if anything trips.

ibaned commented 4 years ago

sounds great! I'll try to figure out what they are for ARM and IBM

ibaned commented 4 years ago

Alright, I have drafts for ARM and IBM as well, which pass minimal tests.

alanw0 commented 4 years ago

Great, that was fast. I don't think sierra is building on the arm machines yet, but should be right away. We are building on vortex (IBM), I think. The initial prototyping I had done failed a couple of our builds last night because of the missing simd_mask constructors. I'll get your updates checked into sierra for tonight's builds. Also, on the coming stk-team sprint (which starts tomorrow) we will have a story to continue working on this, and one or two of the stk guys may contact you for access to this repo.

ibaned commented 4 years ago

Sounds great! Please have them send me GitHub usernames. I'll work on the specialty operators from #4.