Skip to content

Commit

Permalink
Fixed bug where incorrect results would be produced on AMD devices.
Browse files Browse the repository at this point in the history
The problem is in the modular inversion (invModP() function of
secp2556k1.cl). There is section that is looped 20 times. Breaking
the loop into two loops fixes the issue. The exact cause is still
unkown, but it seems to be an issue in AMD's OpenCL compiler, as
this does not happen in the Mesa OpenCL compiler, or nVidia's
OpenCL compiler.
  • Loading branch information
brichard19 committed Jan 31, 2019
1 parent d745878 commit 742a691
Show file tree
Hide file tree
Showing 6 changed files with 2,141 additions and 60 deletions.
1 change: 1 addition & 0 deletions BitCrack.sln
Expand Up @@ -70,6 +70,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CLUnitTests", "CLUnitTests\CLUnitTests.vcxproj", "{146C79F4-2CA1-43B8-A8FE-C86C4E9F6C63}"
ProjectSection(ProjectDependencies) = postProject
{D9A5823D-C472-40AC-B23A-21B1586CEEB0} = {D9A5823D-C472-40AC-B23A-21B1586CEEB0}
{83327841-C283-4D46-A873-97AC674C68AC} = {83327841-C283-4D46-A873-97AC674C68AC}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clMath", "clMath\clMath.vcxproj", "{83327841-C283-4D46-A873-97AC674C68AC}"
Expand Down

0 comments on commit 742a691

Please sign in to comment.