-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mac support #17
Mac support #17
Conversation
@fireice-uk I need to check my changes without on linux while using the emulated functions instead of the amd intrinsic. @kth5 Could you please run this branch on our Mac. btw: the fix for the worksize is not included in this branch and is not needed for a validation test |
@psychocrypt Let me know when the code is ready to be merged (I don't think those tick widgets will ping me). |
I'll be running an hour worth later today and report back. So far the miner performs the same as with my PR alone. Still waiting for shares to get an average idea. |
@psychocrypt Had it running for around an hour now and due to a still slow hashrate of just 60H/s on a R9 M395X 4GB in my iMac, it only came to find a few shares but seems ok: There are still GPU compute errors but to me it seems these may be expected? Someone with more indepth knowledge of the algorithms involved may have to have a look at the emulated amd_bfe and amd_bitalign to make sure I guess. |
I can reproduce a low rate of wrong shares under linux if I used the emulated functions. I will investigate time to find the issue as soon as the nvidia miner is released. |
If it helps, I'll extend my offer for an account on a recent Mac with AMD graphics. Just let me know so we can schedule. Apart from that, even if the emulated functions aren't accurate enough. It seems to me that under 100H/s is very low since I can get around the same with a much lower end R5 240 on Ubuntu. |
I can reproduce a low rate of wrong shares under linux if I used the emulated functions. I will investigate time to find the issue as soon as the nvidia miner is released. |
I'm seeing up to 50% rejected submissions - could the lack of casts in the amd_bitalign mean it's doing a signed shift when it shouldn't be? |
6a4959e
to
8dbe852
Compare
@richard-underwood You pointed to the correct place. It was no issue with signed the function need a 64bit cast and than back to 32bit. Also the parentheses was wrongly placed. I fixed it in the last commit, it is running on my system with 100% valid hashes. |
@kth5 Could you please try the latest version of the PR. |
Interestingly, I still get GPU compute errors. |
@richard-underwood could you please ckeck by hand that you are using the latest chages. |
I've just fetched it again with:
This is still throwing errors:
|
My macbook pro with a amd 460 gpu seems to freeze when running richard-underwood's instructions. I have to do a hard reboot. Also, it only shows that I have a platform index of 0. Using platform index = 1 does not allow the miner to start - I think it only sees one opencl device instead of two. |
I'm running on an iMac with one GPU - I have no idea what happens on a laptop which switches between integrated and discrete GPU, but I can take a look later. |
Is there documentation of the protocol/algorithms used anywhere? I intentionally broke SKEIN_ROT() and the result was pretty much the same percentage of failed hashes. |
@psychocrypt Did a run of the PR a while ago, here are the results: This is on a MacBook Pro mid-2015 with a R9 M370X 2GB on Sierra. |
I am experiencing same problem as snazzybunny. But this happens on my iMac Sierra, AMD Radeon r9 m390 2gb. Binary was compiled as:
I had to modify my config.txt because some devices were not found:
I run binary as normal user (not a root). The system does not crash. I can still move the mouse but UI is not responsive. |
Mac user here. Installation instructions available, or do i simply run Make? |
Alright, got Cmake to work using:
However, running
(I'm here because I saw a post on reddit saying that mac testers were needed. As a potential mac user, a README would be nice as well across all |
I would try to add the dev patches as shown in the above instructions and then make. |
Thanks. Got it working, though I only have one GPU, so it took a while to get these results and unfreeze my computer:
|
@ArtSabintsev Does it crash for you? |
@snazzybunny No, but again, I have one GPU on this machine, and it was pegged the entire time, so I only let it run for 20-25 minutes - worked without fail. |
@psychocrypt Please correct me if I'm wrong, but after building the AMD specific functions in code should this not also be working with Intel OpenCL drivers? If so, it simply doesn't. At least when I tested it with Intel 42xx Haswell CPUs running Windows it will produce 100% GPU compute errors. Maybe there is a rare compute condition on AMD Macs and a permanent condition on Intel GPUs? Program was build with Intel's latest OpenCL SDK. Edit: Just a side note which may help you to isolate the problem, I also noticed rare GPU compute errors on Windows with AMD Radeon 270/280 and AMD Radeon 480 cards on Windows/Linux. Just like around 1-2%, but not in every run of the miner. E.g. running miner 7 days without a compute error and right now, after running the same compilation after reboot for ~2 days 971/988 (98.3%) with 17 GPU compute errors. It seems that the problems were triggered from another (rare) case than from the new functions implemented via the new code. |
@Panzerfather I have not tested it on Intel, I can do it. If you get compute errors please post the output that we can see the kind of error. @kth5 The error in the post is a network error and is independent of this PR. |
- include `OpenCL/cl.j` on Mac - add option to emulate `amd_bfe` and `amd_bitalign`
- remove edge case check in emulated `amd_bfe` function - remove unknown `#pragma "Emulation *"`
- add clean inline functions for `amd_bitalign` - change `amd_bfe` implementation - add links to the original documentations from kronos for `amd_bitalign` and `amd_bfe`
8dbe852
to
ec54b59
Compare
@fireice-uk Could you please merge this PR. If there is something not 100% well for MACOSX it is no issue because it is not effecting linux. This means we have no side effects to the current supported environments. |
@psychocrypt Off course, it will look just like that:
I've ran other tests with more than 100 miscalculated hashes and 0 good results [all GPU compute errors] on 2 different Intel GPUs. Is there an input and correct output hash example to work with for debugging proposes or do I have to setup a testing environment myself with a working card to locate the miscalculation on Intel cards? The testing network isn't an option because you have to know what the correct internal and result values should be. |
@psychocrypt ok - merging without much review, this one is on you =) |
@Panzerfather Which OS do you used and which gpu? |
@psychocrypt Just take a look #17 (comment) 😉 The 100% GPU compute errors are Intel NUC Systems with latest drivers. All Systems running at standard power voltage and are not overclocked. |
@Panzerfather Please switch to #56 for discussion about Intel GPU support |
I was trying the latest dev branch as of today on iMac 2017 (has the Radeon Pro 580) but I get a LOT of GPU compute errors, I mean around maybe 40-60% is compute errors. :( |
Unfortunately most often those are due to the hardware - card is either too hot or too old. |
This pull requst integrate the changes of #10
Changes
OpenCL/cl.j
on Macamd_bfe
andamd_bitalign
My changes on top of kth5's pull requst
#pragma "Emulation *"
amd_bfe
(remove check for the edge case)Tests