AccelerateHS / AccelerateHS/accelerate

Native backend produces incorrect code with LLVM 8... but only on MacOS?

Đang mở
#438 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
needs information
Ngôn ngữ chính
Haskell
Star
1k
Fork
135
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

This is bound to be a fun one: one of my larger kernels is producing incorrect results when compiled with accelerate-llvm-native on MacOS when using LLVM 8. The same kernel agrees with the interpreter on all my Linux machines, and also agrees with the interpreter on my Mac when I use LLVM 7.

I've got two working theories:

- I think the only platform-specific part of accelerate-llvm-native is the linker, so perhaps there's some problem there? Although I can't imagine what LLVM would break from 7 to 8 that would cause a linker to do the wrong thing...
- My Mac is a 2018 MBP with an Intel i9. All the Linux machines I've tested on have i7s. The problem kernel does a huge number of floating point ops, so perhaps some optimization LLVM 8 is doing changes the numerical stability in a way that doesn't matter on an i7, but does matter on an i9? That certainly wouldn't be the weirdest numerical stability issue I've run in to...

Once I've got a few spare hours I'll begin pruning down a minimal repro.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.