bwa icon indicating copy to clipboard operation
bwa copied to clipboard

PPC64 patches

Open yhcheng opened this issue 9 years ago • 15 comments

Changed file ksw.c with SIMD implementation for PPC64 Added a file called vec128int.h for SIMD functions.

yhcheng avatar Jun 10 '16 18:06 yhcheng

Should this be committed upstream at https://github.com/attractivechaos/klib/ instead?

leecbaker avatar Jun 10 '16 20:06 leecbaker

Thanks! I will do PR on the upstream.

yhcheng avatar Jun 10 '16 21:06 yhcheng

submitted PR at upstream klib at https://github.com/attractivechaos/klib/pull/72

yhcheng avatar Jun 20 '16 16:06 yhcheng

I'm compiling this in CentOS 7 64-bit on a POWER7 machine and am getting an undeclared variable error in the big-endian section of vec128int.h "vec128int.h.:169:35: error: '__vsr_left_half_long_long_in_memory' undeclared (first use in this function) return (short) t.as_long_long[__vsr_left_half_long_long_in_memory];"

IvantheDugtrio avatar Jul 11 '16 20:07 IvantheDugtrio

@IvantheDugtrio I added definition of __vsr_left_half_long_long_in_memory, it should fix it now

yhcheng avatar Jul 12 '16 20:07 yhcheng

Thanks now it compiles perfectly!

IvantheDugtrio avatar Jul 12 '16 20:07 IvantheDugtrio

Thanks, this also fixed my compilation on a POWER8 machine. Will this be pull request be accepted?

jlost avatar Jul 14 '16 19:07 jlost

@yhcheng Do you have some documentation on vec128int.h? I'd like to expand the supported sse functions for use in porting other projects.

IvantheDugtrio avatar Jul 19 '16 19:07 IvantheDugtrio

I also have a patch to enable BWA to compile for ARM, what’s the best way to contribute this patch upstream?

On 14/07/2016, 20:09, "James" <[email protected]mailto:[email protected]> wrote:

Thanks, this also fixed my compilation on a POWER8 machine. Will this be pull request be accepted?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/lh3/bwa/pull/71#issuecomment-232762707, or mute the threadhttps://github.com/notifications/unsubscribe/AITmGTWJ-oaddvQMXpu17xJ6hSFM1cFeks5qVolxgaJpZM4IzOyG.

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

wilwan01 avatar Jul 20 '16 20:07 wilwan01

@IvantheDugtrio Please check out https://www.ibm.com/developerworks/community/groups/community/powerveclib/

yhcheng avatar Jul 21 '16 14:07 yhcheng

FYI, a bounty has been posted at https://www.bountysource.com/issues/35671464-fails-compile-on-power8-sse2-intrinsics-vsx-altivec for anyone who puts in the work to make sure this pull request is accepted, whether that means tracking down the owner and nudging them or making the code changes for it to pass review.

jlost avatar Aug 26 '16 13:08 jlost

@wilwan01 Could you please post details for ARM? Thanks!

YulongNiu avatar Mar 29 '17 07:03 YulongNiu

Perhaps, using simde for the SIMD implementation of other CPU architectures might be alternative way to build bwa. It is used for bowtie2 to build bowtie2 on multiple CPU architectures.

junaruga avatar Mar 23 '20 09:03 junaruga

@wilwan01 Could you please post details for ARM? Thanks!

@YulongNiu Possibly here is the way to build bwa on ARM. https://gitlab.com/arm-hpc/packages/-/wikis/packages/bwa

junaruga avatar Mar 23 '20 09:03 junaruga

I sent a PR to build bwa on ppc64le, arm64 and s390x here, https://github.com/lh3/bwa/pull/283 . Maybe the build works on both ppc64le and ppc64 (big endian), as I used the Debian's way where some CPU architecture builds are enabled.

junaruga avatar May 17 '20 19:05 junaruga