Instructions: Compiling and running the ASM Groestl kernel in sgminer 5.1

(You can find more information and benchmark results on this page: https://realhet.wordpress.com/gcn-asm-groestl-coin-kernel/ )

Compiling the kernel for a specific GPU

Requirements:

  • Windows 7 or up
  • Catalyst 14.6, 14.7, 14.9,  14.12  (those are confirmed to work)
  • AMD Radeon gfx with GCN chip (HD7xxx and up)
  • sgminer 5.1

Step 1: Download HetPas??????_Groestl.zip! The latest version can be found in the [Download Area] on the MenuHeader of this blog.

Step 2: Unpack it to a folder that has write access (UAC let it to write there).

Step 3: Turn off DEP for HetPas.exe. (If you don’t know what is this and HetPas.exe wont start -> google “Turn off DEP”)

Step 4: Open HetPas.exe and load [F3] the “groestl/groestl_isa.hpas” program.

Step 5: Run the program by pressing [F9]! If everything goes well, you should see something like this:
groestl compile screen

Step 6: Run “sgminer.exe -k groestlcoin (…your usual command-line comes here)” and then stop it in order to precompile the original groestlcoin.cl opencl kernel.

Step 7: Look for the precompiled binary file that just have been created in the same path as sgminer.exe. The name of the file is something like this: “groestlcoinXXXXgw256l4.bin“. To the place of XXXX your graphics chip’s name will go. In my case it is “groestlcoinCapeverdegw256l4.bin”.

Step 8: Replace the binary file next to sgminer.exe with the “kernel_dump\kernel.elf” one you’ve created in Step 5.
groestl replace kernel

Step 9: Run sgminer.exe but now with the new binary!

Advertisements
This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

11 Responses to Instructions: Compiling and running the ASM Groestl kernel in sgminer 5.1

  1. Meriken says:

    It’s great to have a new version of HetPas that is compatible with recent AMD drivers, but, unfortunately, I couldn’t get the kernels (groestl_ocl.tpas and groestl_isa.hpas) to work on my computer with Windows 7 SP1 64bit, Radeon HD 7970, and Catalyst 14.12. When I try to run a kernel, HetPas aborts with the following error: “Runtime Error: No GCN device found”. The version of HetPas is “HetPas150111_Groestl”. I will try Catalyst 14.9 and let you know how that goes.

  2. realhet says:

    Hi,

    Make sure you’re using the latest HetPas150111_Groestl.zip as I updated it yesterday.
    Also you have to have your GPU on the #0 GPU_platform.
    When you run(F9) the program, it will list your hardvare like this:

    List of opencl devices:

    Device #0
    Target: Cayman Series: 6 Core:880 MHz CU:24 RAM:2048 MB UID:4098
    ext: cl_khr_fp64 cl_amd_fp64 …

    Device #1
    Target: Capeverde Series: 7 Core:880 MHz CU:10 RAM:1024 MB UID:4098
    ext: cl_khr_fp64 cl_amd_fp64 ….

    Using device:
    Target: Capeverde Series: 7 Core:880 MHz CU:10 RAM:1024 MB UID:4098
    ext: cl_khr_fp64 cl_amd_fp64 …

    It is important that my program detect your card as “Series: 7” if not, please report it to me. So in my example it choosed the second card as the first one os only Series:6 (not a GCN card)
    I think, redownloading HetPas150111_Groestl.zip will help.

    Thx for testing!

  3. Meriken says:

    Nope, no luck with Catalyst 14.9 either. cl.devices.count is set to 0, so it seems like a glitch in the OpenCL initialization routine.

  4. realhet says:

    Yes, seems like the #0 platform is empty then. Maybe “Display Driver Uninstaller” can help.

  5. Meriken says:

    Display Driver Uninstaller didn’t work either. I have a rather complicated setup with at least three OpenCL drivers, so it would be really nice if I could choose an OpenCL platform, or HetPas autodetects GPUs on platforms other than #0. I will try to uninstall other OpenCL drivers now.

  6. realhet says:

    Ok, I’ll make an option to select another platform soon. (Never had problems with it, that’s why I igored it)

  7. Meriken says:

    Thank you! I uninstalled other OpenCL drivers and managed to get HetPas to compile kernels, but that option would be really handy.

    By the way, when I ran groestl_ocl.hpas and groestl_isa.hpas on 7970, I got wrong results in both cases. Any ideas?

    groestl_ocl.hpas:
    ############### RESULT IS WRONG ###################
    idx hi lo hi lo
    0: F0A422A7 A3B46B2E -257678681 -1548457170
    1: 20A42F8E 0CDDE333 547630990 215868211
    2: D4324D74 EE530448 -734900876 -296549304
    3: 1BA1F782 72A31412 463599490 1923290130
    4: 14D36977 67DBC31D 349399415 1742455581
    5: CA256597 2DF0308C -903518825 770715788
    6: 014E68DA CBFBC965 21915866 -872691355
    7: 11BC0C47 0278D55A 297536583 41473370
    8: 1ECAFD3A 9C2ED46F 516619578 -1674652561
    9: 920AB093 7C1C67CC -1844793197 2082236364
    A: 9E1AE567 01B8B6E8 -1642404505 28882664
    B: FD4067F7 95C97852 -46110729 -1781958574
    C: F63EB715 345E3E4C -163662059 878591564
    D: A8C80CAA 2EAD5CAB -1463284566 783113387
    E: E1C1646C 985318D1 -507419540 -1739384623
    F: AB375E60 55F7CFBD -1422434720 1442303933
    10: 00000000 00000000 0 0
    11: 00000000 00000000 0 0
    12: 00000000 00000000 0 0
    13: 00000000 00000000 0 0
    14: 00000000 00000000 0 0
    15: 00000000 00000000 0 0
    16: 00000000 00000000 0 0
    17: 00000000 00000000 0 0
    18: 00000000 00000000 0 0
    19: 00000000 00000000 0 0
    1A: 00000000 00000000 0 0
    1B: 00000000 00000000 0 0
    1C: 00000000 00000000 0 0
    1D: 00000000 00000000 0 0
    1E: 00000000 00000000 0 0
    1F: 00000000 00000000 0 0
    20: 20AA7D28 7084F17C 548044072 1887760764
    21: 00000000 00000000 0 0

    groestl_isa.hpas:
    Functional test: ############### RESULT IS WRONG ###################

    idx hi lo hi lo
    0: 933D0000 E0090000 -1824718848 -536281088
    1: 97880000 B0540000 -1752694784 -1336672256
    2: 9CB70000 26B80000 -1665728512 649592832
    3: 18F40000 96BC0000 418643968 -1766064128
    4: EF2B0100 B0390100 -282394368 -1338441472
    5: 20430100 0F4D0100 541262080 256704768
    6: 26770100 786B0100 645333248 2020278528
    7: F1C20100 3CCC0100 -238944000 1020002560
    8: EE100200 6CF30100 -300940800 1827864832
    9: 58290200 06220200 1479082496 102892032
    A: CE630200 B5510200 -832372224 -1252982272
    B: 56B70200 0C910200 1454834176 210829824
    C: C3F90200 A3C90200 -1007091200 -1547107840
    D: AA3C0300 79220300 -1438907648 2032272128
    E: 73640300 1C570300 1935934208 475464448
    F: D58E0300 BB670300 -712113408 -1150876928
    10: FCAA0300 86BC0300 -55966976 -2034498816
    11: F3FB0300 0DC10300 -201653504 230753024
    12: 4F070400 A7020400 1325859840 -1493040128
    13: AE130400 911D0400 -1374485504 -1860369408
    14: FF2A0400 581C0400 -14023680 1478231040
    15: 58440400 B53A0400 1480852480 -1254489088
    16: 525F0400 A6420400 1381958656 -1505623040
    17: 2A730400 68640400 712180736 1751385088
    18: 96990400 15850400 -1768356864 361038848
    19: 35AE0400 35A10400 900596736 899744768
    1A: 68CB0400 4ABD0400 1758135296 1253901312
    1B: EF160500 2BF30400 -283769600 737346560
    1C: CEA70500 1D8A0500 -827915008 495584512
    1D: F6F90500 51F10500 -151452416 1374749952
    1E: 95760600 5D5C0600 -1787427328 1566311936
    1F: 338A0600 97780600 864683520 -1753741824
    20: 59F60600 C6DA0600 1509295616 -958790144
    21: E46B0700 86FF0600 -462747904 -2030107136
    22: 429C0700 76760700 1117521664 1987446528
    23: BF9B0700 38A00700 -1080359168 950011648
    24: 63D30700 1EA30700 1674774272 514000640
    25: 04F20700 A8E20700 82970368 -1461582080
    26: 63080800 B2010800 1661470720 -1308555264
    27: 5B140800 9D090800 1528039424 -1660352512
    28: 76870800 ED750800 1988560896 -311097344
    29: B2BB0800 7F9C0800 -1296365568 2140932096
    2A: 8DCD0800 8DC90800 -1915942912 -1916205056
    2B: A8050900 12FD0800 -1476065024 318572544
    2C: B0610900 723E0900 -1335817984 1916668160
    2D: 7BC50900 FBB20900 2076510464 -72218368
    2E: 5BEB0900 DEC60900 1542129920 -557446912
    2F: 06F30900 AFF20900 116590848 -1343092480
    30: 112D0A00 0C280A00 288164352 203950592
    31: 52840A00 2E7D0A00 1384385024 779946496
    32: 98BE0A00 9B820A00 -1732376064 -1685976576
    33: 52C20A00 6DC40A00 1388448256 1841564160
    34: A9290B00 9DD60A00 -1456928000 -1646917120
    35: 04530B00 532A0B00 72551168 1395264256
    36: 4B9F0B00 367B0B00 1268714240 914033408
    37: 28C90B00 CFAF0B00 684264192 -810611968
    38: 38ED0B00 42DE0B00 955058944 1121848064
    39: DD0F0C00 2F120C00 -586216448 789711872
    3A: 34840C00 997A0C00 881069056 -1720054784
    3B: 87ED0C00 B5CE0C00 -2014508032 -1244787712
    3C: B60C0D00 D8FE0C00 -1240724224 -654439424
    3D: 825B0D00 4B260D00 -2107962112 1260784896
    3E: 2F980D00 CA830D00 798493952 -897381120
    3F: D7AE0D00 2C9D0D00 -676459264 748489984
    40: 8B140E00 98BB0D00 -1961619968 -1732571904
    41: 38590E00 AB330E00 945360384 -1422717440
    42: 04800E00 4E730E00 75501056 1316163072
    43: 62920E00 658C0E00 1653739008 1703677440
    44: BEC60E00 1CC30E00 -1094316544 482545152
    45: 5BE30E00 EDC80E00 1541606912 -305656320
    46: 6DEF0E00 C4ED0E00 1844383232 -991097344
    47: 23570F00 F9F40E00 592908032 -101446144
    48: 41770F00 84780F00 1098321664 -2072506624
    49: 54B10F00 49A70F00 1420889856 1235685120
    4A: 4BEF0F00 D7E00F00 1273958144 -673181952
    4B: 13161000 0BFC0F00 320212992 201068288
    4C: 3F4C1000 043E1000 1061949440 71176192
    4D: 01561000 334D1000 22417408 860688384
    4E: 40801000 62751000 1082134528 1651838976
    4F: 16BF1000 61AD1000 381620224 1638731776
    50: A8D21000 95C31000 -1462628352 -1782378496
    51: 343B1100 B8241100 876286208 -1205595904
    52: 25881100 836A1100 629674240 -2090200832
    53: 97B91100 0D8C1100 -1749479168 227283200
    54: 1ED81100 CCCB1100 517476608 -859107072
    55: ABE51100 EDD81100 -1411051264 -304606976
    56: 88EF1100 E6EB1100 -1997598464 -420802304
    57: 05FF1100 05FC1100 100602112 100405504
    58: 814C1200 EC1A1200 -2125721088 -333835776
    59: C78E1200 73831200 -946990592 1937969664
    5A: EABF1200 D1BD1200 -356576768 -776138240
    5B: D1CF1200 F7C31200 -774958592 -138210816
    5C: 26471300 D5FD1200 642192128 -704835072
    5D: A0BE1300 48B61300 -1598156032 1219891968
    5E: 64D81300 EEBF1300 1691882240 -289467648
    5F: 00000000 00000000 0 0
    60: 00000000 00000000 0 0
    61: 00000000 00000000 0 0
    62: 00000000 00000000 0 0
    63: 00000000 00000000 0 0
    64: 00000000 00000000 0 0
    65: 00000000 00000000 0 0
    66: 00000000 00000000 0 0
    67: 00000000 00000000 0 0
    68: 00000000 00000000 0 0
    69: 00000000 00000000 0 0
    6A: 00000000 00000000 0 0
    6B: 00000000 00000000 0 0
    6C: 00000000 00000000 0 0
    6D: 00000000 00000000 0 0
    6E: 00000000 00000000 0 0
    6F: 00000000 00000000 0 0
    70: 00000000 00000000 0 0
    71: 00000000 00000000 0 0
    72: 00000000 00000000 0 0
    73: 00000000 00000000 0 0
    74: 00000000 00000000 0 0
    75: 00000000 00000000 0 0
    76: 00000000 00000000 0 0
    77: 00000000 00000000 0 0
    78: 00000000 00000000 0 0
    79: 00000000 00000000 0 0
    7A: 00000000 00000000 0 0
    7B: 00000000 00000000 0 0
    7C: 00000000 00000000 0 0
    7D: 00000000 00000000 0 0
    7E: 00000000 00000000 0 0
    7F: 000000BE 00000000 190 0

  8. realhet says:

    These are wrong calculations.
    When the lowest bytes of a dword is nonzero, it is some garbage,
    The secons run is a bit better but It doesn’t found all the 184 (0xB8) results. Actually it found more o.O
    I have noticed this kind of error at someone else before. Here on the forums: https://bitcointalk.org/index.php?topic=779598.220

    Maybe you should try the magical 14.7RC3 driver.

    What I see in your logs are wrong calculations and memory garbage, So either a driver problem or overclocking problem.

  9. Meriken says:

    I just ruled out overclocking problems, so it may be a driver problem. I will try Catalyst 14.7 RC3.

  10. Meriken says:

    Catalyst 14.7 RC3 didn’t work either. I am still getting wrong results. I will play with the program and see what I can do with it.

  11. Ryan White says:

    Awesome project realhet! Thank you for sharing. I got it to mostly working(good enough). For some reason I was getting a message when it would submit a match. It was something about the difficulty was too low. Anyway, it was a fun project and I look forward to future posts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s