amkozlov / raxml-ng

RAxML Next Generation: faster, easier-to-use and more flexible
GNU Affero General Public License v3.0
374 stars 62 forks source link

Compilation for non-AMD/Intel CPUs #141

Closed V-Z closed 2 years ago

V-Z commented 2 years ago

Hello, I'm packaging RAxML-NG for openSUSE GNU Linux and for "standard" architectures (AMD x86) it works fine, more or less, but for other architectures --- ARM, PowerPC and RISC-V I get various compilation errors. Do I get it right that RAxML-NG is not supposed to work on non-AMD x86 architectures? Or is this somehow (easily) fixable?

amkozlov commented 2 years ago

Hi, that's right, non-x86 architectures are generally not supported, and I'm not sure if this would be easily fixable. Maybe you could compile a non-vectorized version, but it would be rather slow. For ARM, there is an easy way to map its SIMD instructions to SSE: https://github.com/DLTcollab/sse2neon It works fine on Apple M1, however x86 emulation mode is also pretty fast there (~20% slower), so not sure if native compilation even worth the effort.

V-Z commented 2 years ago

OK, thank You for clarification. Yeah, it doesn't seem to me that sse2neon would be worth of effort. So I'll focus only on packaging on x86 architectures.