Skip to content

Commit 742a691

Browse files
committed
Fixed bug where incorrect results would be produced on AMD devices.
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.
1 parent d745878 commit 742a691

File tree

6 files changed

+2141
-60
lines changed

6 files changed

+2141
-60
lines changed

BitCrack.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ EndProject
7070
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CLUnitTests", "CLUnitTests\CLUnitTests.vcxproj", "{146C79F4-2CA1-43B8-A8FE-C86C4E9F6C63}"
7171
ProjectSection(ProjectDependencies) = postProject
7272
{D9A5823D-C472-40AC-B23A-21B1586CEEB0} = {D9A5823D-C472-40AC-B23A-21B1586CEEB0}
73+
{83327841-C283-4D46-A873-97AC674C68AC} = {83327841-C283-4D46-A873-97AC674C68AC}
7374
EndProjectSection
7475
EndProject
7576
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clMath", "clMath\clMath.vcxproj", "{83327841-C283-4D46-A873-97AC674C68AC}"

0 commit comments

Comments
 (0)