Bitcoin Forum
May 08, 2024, 09:48:32 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: Do you want to see improvements in Ethash dual-mining with GGS?
I desperately need it. - 8 (15.1%)
It would be nice. - 12 (22.6%)
It's not worth it anymore. - 33 (62.3%)
Total Voters: 53

Pages: « 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 ... 197 »
  Print  
Author Topic: Gateless Gate Sharp 1.3.8: 30Mh/s (Ethash) on RX 480!  (Read 214342 times)
nerdralph
Sr. Member
****
Offline Offline

Activity: 588
Merit: 251


View Profile
December 31, 2017, 06:42:05 PM
 #1841

I'm curious why you picked the ethash-new kernel from sgminer-gm.  I'm still using most of the original ethminer kernel, and get within 1% of the original sgminer-gm ethash kernel.
With fglrx, amgpu-pro 16 (and amdgpu-pro 17 when using -legacy) on GCN3, the keccak loop compiles to 306 instructions and needs 80 VGPRs.  16 of the instructions are scalar for the loop and Keccak_f1600_RC lookup, and 30 of the vector instructions are just v_mov_b32 to shuffle around registers at the end of each round.  My calculations by hand were that each loop would take 268 instructions minimum if it could be done without any move instructions.

Besides skipping most of the chi function in the final round which ethash-new already does, some of the theta function in the first round could be skipped as well.  Together those optimizations can save 3-4% of the instructions.  Aside from Wolf's GCN assembler kernel, I'm not aware of anyone doing a highly optimized ethash kernel.  He shared some of the code with me, and even he wasn't able to get the code below 250 instructions per loop.  The major difference for his kernel was that it only needed 64 VGPRs, and therefore permitted 4 waves instead of 3.

However, as you know, with a plain ethash kernel, the keccak function isn't the bottleneck, it's memory latency/bandwidth.  But since you are now writing dual miner kernels, the fewer cycles taken in the keccak function, the more available for the secondary algorithm.  Getting any significant optimizations out of the keccak function is very difficult, which is no surprise since it wouldn't have been chosen for sha-3 if there were easy shortcuts.  I'm still looking at ways to optimize the 2nd keccak specific to the fact it only needs 64 bits output (or perhaps even only 32).  That may or may not bear fruit, but I'm more confident in another idea I have.  Since I enjoy thinking more than I do coding, by sharing it with you it is more likely to get implemented sooner.

The ethash inner loop that reads 64 * 128-byte DAG items is the primary bottleneck, as I believe each read has a latency of around 100us.  With memory controller channel conflicts and GDDR5 bank conflicts, some reads could have a latency of 150us.  When one wave is stalled waiting for memory, the 2nd and 3rd wave can run, but I suspect there is still room to improve SIMD occupancy.  While one way is by reducing VGPR usage to get 4 waves in flight, another way would be to interleave 2 ethash iterations.  The 64 bytes of state output from the first keccack hash can be saved in LDS, then a 2nd nonce can be run through the keccak hash while the 64 DAG reads are going on for the first nonce.  Since there are only 24 rounds to the keccak hash, the rounds would need to be divided in two, for a total of 48 half-rounds interleaved between the first 49 DAG lookups.  LDS usage per would be 64 bytes * 64 threads * 4 SIMD = 16KB/wave on each CU, or 48KB with 3 waves.  The regular ehash kernel uses 6KB of LDS for the shared DAG reading, so the total would still be under the 64KB max.

I even have another optimization idea, but it can't be implemented in OpenCL.  An assembler kernel could use the DS ALU concurrently with the VALU.  Unfortunately the DS ALU has no shift instruction, so that will still have to be done by the VALU.  All or most of the XOR operations could be done using DS_XOR instructions.  With 32 LDS banks, only 32 of the 64 threads on a CU will be able to concurrently execute a DS instruction, but that wouldn't be a concern with a dual mining kernel where 2 out of the 4 SIMD units per CU are working on the secondary algorithm.
1715161712
Hero Member
*
Offline Offline

Posts: 1715161712

View Profile Personal Message (Offline)

Ignore
1715161712
Reply with quote  #2

1715161712
Report to moderator
1715161712
Hero Member
*
Offline Offline

Posts: 1715161712

View Profile Personal Message (Offline)

Ignore
1715161712
Reply with quote  #2

1715161712
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715161712
Hero Member
*
Offline Offline

Posts: 1715161712

View Profile Personal Message (Offline)

Ignore
1715161712
Reply with quote  #2

1715161712
Report to moderator
1715161712
Hero Member
*
Offline Offline

Posts: 1715161712

View Profile Personal Message (Offline)

Ignore
1715161712
Reply with quote  #2

1715161712
Report to moderator
1715161712
Hero Member
*
Offline Offline

Posts: 1715161712

View Profile Personal Message (Offline)

Ignore
1715161712
Reply with quote  #2

1715161712
Report to moderator
heavyarms1912
Full Member
***
Offline Offline

Activity: 729
Merit: 114



View Profile
December 31, 2017, 08:54:17 PM
 #1842

I hope everyone would eventually see that paying the DEVFEE is actually a good thing for themselves.
That way, I can continue development without worrying about money, and my wife would stop bugging me about how much money I am making everyday. lol
Right now, I have to spend a considerable chunk of my time on my own small mining farm just to support my family.
If I can live off the DEVFEE, I don't have to maintain the farm, I can just focus on GGS, and the miner gets faster and more stable
 with more features.
It is just as simple as that.

Totally agree.  Devfee should be there and keeps the dev motivated to improve the miner.  How about having static 0.5% devfee and 0.5-1% user configurable?
SirOverdose
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
December 31, 2017, 10:34:31 PM
 #1843

1.1.8 doesnt detect my cards at all on startup,
1.1.7 crashes on startup, 1.1.6 starts and runs /  but only 8 cards available.
Please fix this so i can use your miner.  Smiley

A log file, please!

Hey Zawawa heres the log :

2017-12-30 12:59:19.2235 [1] Gateless Gate Sharp 1.1.8 alpha started.
2017-12-30 12:59:19.9210 [1] Exception in InitializeDevices(): Method not found: 'Byte[] Cloo.ComputeDevice.get_BoardNameAMD()'.   at GatelessGateSharp.MainForm.InitializeDevices()
   at GatelessGateSharp.MainForm.MainForm_Load(Object sender, EventArgs e)
2017-12-30 12:59:22.9576 [1] Exception: Object reference not set to an instance of an object.   at GatelessGateSharp.MainForm.LoadDatabase()

You just need to upgrade the Cloo.dll to the latest version. It is in the distribution package.


Which distribution package is this? I downloaded the MSI from github, do you mean net framework?
UnclWish
Sr. Member
****
Offline Offline

Activity: 1484
Merit: 253


View Profile
December 31, 2017, 11:26:01 PM
 #1844

1.1.8 doesnt detect my cards at all on startup,
1.1.7 crashes on startup, 1.1.6 starts and runs /  but only 8 cards available.
Please fix this so i can use your miner.  Smiley

A log file, please!

Hey Zawawa heres the log :

2017-12-30 12:59:19.2235 [1] Gateless Gate Sharp 1.1.8 alpha started.
2017-12-30 12:59:19.9210 [1] Exception in InitializeDevices(): Method not found: 'Byte[] Cloo.ComputeDevice.get_BoardNameAMD()'.   at GatelessGateSharp.MainForm.InitializeDevices()
   at GatelessGateSharp.MainForm.MainForm_Load(Object sender, EventArgs e)
2017-12-30 12:59:22.9576 [1] Exception: Object reference not set to an instance of an object.   at GatelessGateSharp.MainForm.LoadDatabase()

You just need to upgrade the Cloo.dll to the latest version. It is in the distribution package.


Which distribution package is this? I downloaded the MSI from github, do you mean net framework?
No. He means installation package. Just try to delete GGS and reinstall it.
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 03:05:22 AM
 #1845

Gateless Gate Sharp 1.1.9 alpha
https://github.com/zawawawa/GatelessGateSharp/releases/tag/v1.1.9-alpha

* Fixed the GPU order problem.
* Enabled fan control for AMD cards.
* Made the main window resizable.

The new fan control feature should be pretty useful. Happy New Year!

Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
cloudminer1
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 01, 2018, 03:34:20 AM
 #1846

zawawa thank you for your work i just got into mining am fairly new to it all i really like the function of the GGS miner im currently mining with 2 rigs and plan to grow. I just read the last 50 pages of this thread going to install the latest ver and give it a test run and report back. I'm +1 for the windows for now  Tongue
cloudminer1
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 01, 2018, 03:42:11 AM
 #1847

2017-12-31 21:36:34.2926 [1] Successfully loaded phymem.
2017-12-31 21:36:58.3943 [1] Launching miner(s) for Custom Pool 0...
2017-12-31 21:36:58.3973 [1] Connecting to  eu1.altminer.net:10002 as TdcKGodyRUtyNnvQa5Pgs67MyPc7tTTGCe...
2017-12-31 21:36:58.3993 [1] Exception in Stratum.Connect(): System.Net.Sockets.SocketException (0x80004005): No such host is known
   at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
   at GatelessGateSharp.Stratum.Connect()
2017-12-31 21:36:58.7523 [5] Miner thread for Device #0 started.
2017-12-31 21:36:58.7583 [5] Loaded Kernels\neoscrypt.cl for Device #0.
2017-12-31 21:37:05.3929 [5] Built NeoScrypt program for Device #0.
2017-12-31 21:37:05.3929 [5] Build options: -O5 -legacy -IKernels -DWORKSIZE=256
2017-12-31 21:37:05.6425 [6] Miner thread for Device #1 started.
2017-12-31 21:37:05.6445 [6] Loaded Kernels\neoscrypt.cl for Device #1.
2017-12-31 21:37:10.5516 [5] Exception in miner thread: Stratum server failed to send a new job.   at GatelessGateSharp.OpenCLNeoScryptMiner.MinerThread()
2017-12-31 21:37:10.5516 [5] Restarting miner thread...

i set up custom pool like shown earlier in thread
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 04:49:58 AM
 #1848

I’m going out with my wife now. I will add this pool as a default pool when I get back home.
If you guys have recommendations for good anonymous pools, please let me know.

Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 05:04:50 AM
 #1849

It seems like this particular pool is down, though.
I was hoping there would be a good anonymous pool for NeoScrypt.
We will see.

Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 06:22:10 AM
 #1850

2017-12-31 21:36:34.2926 [1] Successfully loaded phymem.
2017-12-31 21:36:58.3943 [1] Launching miner(s) for Custom Pool 0...
2017-12-31 21:36:58.3973 [1] Connecting to  eu1.altminer.net:10002 as TdcKGodyRUtyNnvQa5Pgs67MyPc7tTTGCe...
2017-12-31 21:36:58.3993 [1] Exception in Stratum.Connect(): System.Net.Sockets.SocketException (0x80004005): No such host is known
   at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
   at GatelessGateSharp.Stratum.Connect()
2017-12-31 21:36:58.7523 [5] Miner thread for Device #0 started.
2017-12-31 21:36:58.7583 [5] Loaded Kernels\neoscrypt.cl for Device #0.
2017-12-31 21:37:05.3929 [5] Built NeoScrypt program for Device #0.
2017-12-31 21:37:05.3929 [5] Build options: -O5 -legacy -IKernels -DWORKSIZE=256
2017-12-31 21:37:05.6425 [6] Miner thread for Device #1 started.
2017-12-31 21:37:05.6445 [6] Loaded Kernels\neoscrypt.cl for Device #1.
2017-12-31 21:37:10.5516 [5] Exception in miner thread: Stratum server failed to send a new job.   at GatelessGateSharp.OpenCLNeoScryptMiner.MinerThread()
2017-12-31 21:37:10.5516 [5] Restarting miner thread...

i set up custom pool like shown earlier in thread

Everything seems fine on my end:



Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
cloudminer1
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 01, 2018, 06:22:34 AM
 #1851

pool is up im mining on it right now with my other rig edit maybe i need to add the x will check back ty after reading the whole thread im really looking foward to using this miner and def dont mind the dev fee
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 06:38:59 AM
 #1852

I realized it is a major pain to copy settings from one rig to another.
For now, you can just copy "C:\Program Files\Zawawa Software LLC\Gateless Gate Sharp\GatelessGateSharp.sqlite" to copy all the settings.
I will add another feature to make this much easier and more intuitive.

Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
cloudminer1
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 01, 2018, 07:01:52 AM
 #1853

other rig is a nvidia card rig running ccminer for now but if this works out good ill run it on both of my rigs 2nd rig is a 8card rx570 rig
cloudminer1
Newbie
*
Offline Offline

Activity: 27
Merit: 0


View Profile
January 01, 2018, 08:19:08 AM
 #1854

same error went back through DDU drivers reinstalled blockchain driver uninstalled GGS reinstalled newest ver setup pool just like yours but with my wallet same error
zawawa (OP)
Sr. Member
****
Offline Offline

Activity: 728
Merit: 304


Miner Developer


View Profile
January 01, 2018, 08:30:58 AM
 #1855

same error went back through DDU drivers reinstalled blockchain driver uninstalled GGS reinstalled newest ver setup pool just like yours but with my wallet same error

It is probably because your IP address is blocked by the pool for some reason.
Did you try other miners and/or other pools?

Gateless Gate Sharp, an open-source ETH/XMR miner: http://bit.ly/2rJ2x4V
BTC: 1BHwDWVerUTiKxhHPf2ubqKKiBMiKQGomZ
UnclWish
Sr. Member
****
Offline Offline

Activity: 1484
Merit: 253


View Profile
January 01, 2018, 09:41:45 AM
 #1856

It's strange, but on my rig on 1.1.9 hardware sensors info showed from 1st GPU on all others. All the same and from 1st device.
On 1.1.8 all normal. Drivers 17.11.4.
ntzntz
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
January 01, 2018, 02:14:51 PM
 #1857

I am trying to figure out how i can add a custom pool to your program http://prntscr.com/hurywk is this the right way? i am getting a big error like this one http://prntscr.com/hurze7 what am i doing wrong? thanks. Is there anything i need to install ?
UnclWish
Sr. Member
****
Offline Offline

Activity: 1484
Merit: 253


View Profile
January 01, 2018, 02:17:29 PM
 #1858

I am trying to figure out how i can add a custom pool to your program http://prntscr.com/hurywk is this the right way? i am getting a big error like this one http://prntscr.com/hurze7 what am i doing wrong? thanks. Is there anything i need to install ?
Try to remove "startum+tcp://" Just leave "pool..."
ntzntz
Newbie
*
Offline Offline

Activity: 15
Merit: 0


View Profile
January 01, 2018, 02:21:06 PM
Last edit: January 01, 2018, 02:32:20 PM by ntzntz
 #1859

I think the error is not because of the custom pool. I tried what you told me but i get the same error like before when i try to press start.
I also tried to install from the setup but if i do not select the neoscrypt algo in the custom pool it starts and i get no error. If i select the neoscrypt then the program crashes with the error already submitted above Sad
Saphire
Full Member
***
Offline Offline

Activity: 602
Merit: 114


View Profile
January 01, 2018, 03:21:35 PM
 #1860

I have 7x Rx580 and Windows 10 64 bit. The driver is AMD fix Driver.
I downloaded and installed Gateless Gate Sharp 1.1.9
I tried to mine Ethereum on Nanopool and mine hashrate is 28-29 Mh/s and it was stable at those speed.

Then i tried to mine neoscript but my hashrate is so unstable. It changes every SECONDs between 700 and 90 Kh/s. Is this normal?
And what shold be my Intensity and Work Size for Neoscript? (I didind change the defult 256-256)





Pages: « 1 ... 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 [93] 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 ... 197 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!