[Dev] NeoScrypt GPU Miner - Public Beta Test
-
as i see this is only change between them???:
- (get_global_id(0)% CONCURRENT_THREADS)];
- (get_global_id(0)% WORKGROUPSIZE)];
Correct, this is the only change direct change in the kernel. May be I have missed something in the miner corelating with this.
Advice: when you use config-file for running the miner, then please remove the “thread-concurrency” : N from the config-file, if N is smaller then the worksize!
-
(opt_neoscrypt|| opt_scrypt)? 84: sizeof(work->data), true))) {
have no idea how it compares to setting of my miner but i get most stable and fast hash with value -w 84
That line of code has certainly nothing to do with the worksize. The line you have copied there, is taking care about correct communication when solo mining.
-
So just to wrap it up:
-w should be the preferred worksize of the GPU. This is usually a value evenly divideable by 64 and I haven’t found a GPU yet, where this value is beneath 256. That is why cgminer chooses 256 as the default for worksize.
The HW errors occuring with 3.7.6x are most likely due to me failing to ensure, that the thread-concurrency had a value equal to or greater than the worksize. I am currently working on a version where I get rid of the thread-concurrency completely and make use of the worksize only. Thread concurrency is of no use in neoscrypt and makes sense in scrypt only (at least to me).
My current setting on an Nvidia Geforce 218 is:
-w 512
The thread-concurrency is implicitly set to 512 currently. My intensity is set to default (dynamic).
I don’t use configuration files, but only command-line settings. When you use configuration files, make a backup and set worksize back to 256 or 512 depending on what your gpu prefers (removing the line completely makes cgminer select the devices preferred value). Next make sure thread-concurrency is set to worksize or a greater value (again removing the line, make cgminer use a reasonable default value). Setting thread concurrency to a value significantly greater than the worksize wastes memory only.
-
Considering cgminer is dead for GPU mining on newer versions, will this be added to sgminer instead in the future? I think having a common ground like that would help everyone instead of many different forks.
-
Considering cgminer is dead for GPU mining on newer versions, will this be added to sgminer instead in the future? I think having a common ground like that would help everyone instead of many different forks.
Would also love to see NeoScrypt ported to sgminer. Sgminer is much less trouble to setup, less failure.
-
Hello Everyone,
I’m back. O0
After 4 day and nights, finally got my neoscrypt code being optimized successfully by lovely opencl compiler.
The current relsult is: ScrachReg reduced to 224 and the overall hash rate for R9 290 is 160-170K/s. :)
With 5 R9290, I got around 800-830k/s locally and 780-800k/s on PXC.theblocksfactory.
link: http://i58.tinypic.com/noxd9h.jpg
My rig:
5 ASUS R9 290
Win8.1
GPU: default core and memory frequency.
AppSDK: 2.9.1
Crystal Driver: 14.4
Plus: Coding opencl is really nightmare: Comment one line or add one useless line will cause the result 100% different.
Sorry for my national holiday, but the result is exciting.
Love Neoscrypt, hate opencl code but enjoying the fun.
Ralph
-
I can not express how greatfull I am for everyones work here!
This is monumental. The newsletter will go out ASAP, the thread is primed…
BRING ON THE STRESS TESTING!!! sorry for the caps but this had to be yelled.
-
Looks like ill need to do a build on my linux boxes
-
Would also love to see NeoScrypt ported to sgminer. Sgminer is much less trouble to setup, less failure.
The issue is not porting the cl-kernel to sgminer, but the changes neccessary to cope with the changes in the network protocol.
-
Plus: Coding opencl is really nightmare: Comment one line or add one useless line will cause the result 100% different.
Sorry for my national holiday, but the result is exciting.
I totally agree, coding OpenCL is a nightmare. Unfortunately I can explain the theory, why this happens: The SIMD modell is playing against us. Adding or deleting instructions, that threads have to skip or used to sync execution heavily plays into overall performance.
Let’s look at the code at the end of fastkdf():
if (a >= output_len)
// copy
else
// merge
Now “a” depends on the input data, the chances that for a bunch of threads trying to execute this conditional on multiple (different) data - remember every thread has its own distinct data - makes some threads execute the then part, while others do the merge part. SIMD now dictates that all threads execute the same instruction or skip it. Or with other words: All threads execute both parts of the conditional. Now, OpenCL is able to switch off some of the threads, i.e., the threads sees the instruction, but does not execute it. It idles. The compiler tries to handle this, but is not always successfull.
So if just one thread needs to execute the other part of the contidional than all other threads, then nevertheless all threads will step through all instructions in both the then and the else branch.
So far just for the background. :)
-
I had tested 3.7.7b , it work normal.
-
Text file: windows.build.txt that comes with cgminer is a very description. Try that first, please.
-
i would like to have some quick info how to compile miner in windows…
i have mingw with all the wallet deps installed, but i have had never time to look how its done with miner
Text file: windows.build.txt that comes with cgminer is a very description. Try that first, please.
I spent about an hour the other night trying to get mingw to compile 3.7.6. The instructions in the windows.build.txt will definitely get you started - however, they are missing a lot of info. Most of the errors you’ll run into simply require you to google it run the appropriate “mingw-get install XXXXX” command. When you work through the windows build directions, make sure that you pay special attention when downloading libraries and moving files into specific locations for the build. You’ll save yourself a lot of headache if you pay close attention and don’t miss anything. Toward the end of the build, you’ll get an error from “make” regarding a missing jansson.h file. Take a look at the bfgminer windows build directions on github and find the “libjansson” section. It will walk you through manually building this and get rid of that error. Ignore the fact that it wants you to re-download it, these files are already located within the cgminer build directory inside of the “compat” directory.
Cheers.
-
folks, can we get a simple program that is kinda like a “bin creator” where you have a GUI that is more friendly for configuring the gpu miner to make noobs life a bit easier and get them hooked faster?
-
-
it works good, i get shares and stuff, but i think the ‘display’ that should show the hashrates on the GPUminer is broken… it shows just 600h/s on a AMD HD6670 and just over 1Kh/s with a R9 295x2 (borrowed from a friend)
-
I spent about an hour the other night trying to get mingw to compile 3.7.6. The instructions in the windows.build.txt will definitely get you started - however, they are missing a lot of info. Most of the errors you’ll run into simply require you to google it run the appropriate “mingw-get install XXXXX” command. When you work through the windows build directions, make sure that you pay special attention when downloading libraries and moving files into specific locations for the build. You’ll save yourself a lot of headache if you pay close attention and don’t miss anything. Toward the end of the build, you’ll get an error from “make” regarding a missing jansson.h file. Take a look at the bfgminer windows build directions on github and find the “libjansson” section. It will walk you through manually building this and get rid of that error. Ignore the fact that it wants you to re-download it, these files are already located within the cgminer build directory inside of the “compat” directory.
Cheers.
you are correct, this is just what i hate, lot lot lot of info missing.
just started to install…
i think im fine if just using my installation manager to get past this mingw-get install XXXXX" command thing??
-
I got the GPU miner running on my Geforce GTX 570 getting 36.50khash/sec. Stability was an issue at first, but I noticed that one of the threads on the CPU miner that was also running, wasn’t hashing effectively. I reduced the threads on the CPU miner by 1 and stability improved a bit. I tried changing the .bat file to
setx DISPLAY 0
setx GPU_MAX_ALLOC_PERCENT 50
setx GPU_USE_SYNC_OBJECTS 1
cgminer.exe --neoscrypt --worksize 256 --thread-concurrency 400 -I 10 -o
It might have made the stability a bit better, but it was only hashing 0.1khash/sec less and stability still isn’t great. Any tuning hints? I tried changing the intensity to dynamic but that dropped the hash to 6khash/sec and didn’t make it any better.
I think you should consider making a new fork for cpuminer21 because that is the last version is the last one by the cuda team that supports compute 2.0 and it is a design goal to make mining effective on as much equipment as possible.
I am currently back to mining x11 using cpuminer21 because it is just that much more stable even though I could probably be profitable with PXC after trading. I can run cpuminer with neoscrypt at 4 threads and still get 1600khash/sec running x11 on my gpu. Most importantly though, cpuminer21 seams to drop my hashrate before it drops my framerate. If I open up something that requires a lot of GPU the hashrate drops to 1300khash/sec and there isn’t a lot of screen freezes. I can’t even open this forum to make this post while running cgminer without getting a lot of waiting on the chrome not responding. I will probably turn cgminer back on later when I go to bed, but I can’t figure out how to hash neoscrypt while still being able to use my computer.
-
Anyone given any thought of using cgminer 3.7.3 Kalroth that has xIntensity?
This is a pretty old version but I’m still using it for script mining because to me its the best out there.
More info can be found here
I get 480 kh/s per R9 270 non X with those config settings working LTC, Doge, or even PXC before this latest change.
xIntensity: Very new and still experimental and as far as I know only available from the kalroth release (see below). Seems to work flawlessly so far and gives a much more wide range of intensity. You can only use xintensity OR intensity NOT both. Calculated instead by the number of shaders your gpu has and multiplied by xintensity (Shaders*xI). So for example my 7870 and 270x have 1280 shaders, so any number I put in as the xintensity would be multiplied by 1280. both 80 (102400 which if you view above is equal to 16.7ish) and 111 (142080=17.25ish) seem to work really well on single thread I am not decided yet which is best will take some testing still . Due to this I have also been able to get 2 threads to work which was not possible in the past. Its actually more productive and less system intensive to run 2 threads. I managed to get mine to run at xintensity=4 gpu-threads=2. This was NOT possible using normal intensity increases, Thanks kalroth!
{ "pools" : [ { "url" : "stratum+tcp://pool.ftc-c.com:10554", "user" : "Pn18tqfzFNPUcFjJRq1GRYdYDJjKTBNGpq", "pass" : "x" } ] , "xintensity" : "4,4", "vectors" : "1,1", "worksize" : "0,0", "kernel" : "darkcoin,darkcoin", "lookup-gap" : "2,2", "gpu-threads" : "2,2", "thread-concurrency" : "8193,8193", "gpu-engine" : "1100,1100,", "gpu-fan" : "auto,auto", "gpu-memclock" : "1450,1450", "gpu-memdiff" : "0,0", "gpu-powertune" : "0,0", "gpu-vddc" : "0.000,0.000", "temp-cutoff" : "90,90", "temp-overheat" : "85,85", "temp-target" : "70,70", "api-mcast-port" : "4028", "api-port" : "4028", "expiry" : "1", "failover-only" : true, "failover-switch-delay" : "30", "gpu-dyninterval" : "7", "gpu-platform" : "0", "log" : "5", "log-dateformat" : "0", "no-pool-disable" : true, "queue" : "0", "scan-time" : "1", "scrypt" : true, "temp-hysteresis" : "3", "shares" : "0", "kernel-path" : "/usr/local/bin", "device" : "0-1" }
-
I got the GPU miner running on my Geforce GTX 570 getting 36.50khash/sec. Stability was an issue at first, but I noticed that one of the threads on the CPU miner that was also running, wasn’t hashing effectively. I reduced the threads on the CPU miner by 1 and stability improved a bit. I tried changing the .bat file to
setx DISPLAY 0
setx GPU_MAX_ALLOC_PERCENT 50
setx GPU_USE_SYNC_OBJECTS 1
cgminer.exe --neoscrypt --worksize 256 --thread-concurrency 400 -I 10 -o
It might have made the stability a bit better, but it was only hashing 0.1khash/sec less and stability still isn’t great. Any tuning hints? I tried changing the intensity to dynamic but that dropped the hash to 6khash/sec and didn’t make it any better.
I think you should consider making a new fork for cpuminer21 because that is the last version is the last one by the cuda team that supports compute 2.0 and it is a design goal to make mining effective on as much equipment as possible.
I am currently back to mining x11 using cpuminer21 because it is just that much more stable even though I could probably be profitable with PXC after trading. I can run cpuminer with neoscrypt at 4 threads and still get 1600khash/sec running x11 on my gpu. Most importantly though, cpuminer21 seams to drop my hashrate before it drops my framerate. If I open up something that requires a lot of GPU the hashrate drops to 1300khash/sec and there isn’t a lot of screen freezes. I can’t even open this forum to make this post while running cgminer without getting a lot of waiting on the chrome not responding. I will probably turn cgminer back on later when I go to bed, but I can’t figure out how to hash neoscrypt while still being able to use my computer.
You can give my command line a try to see if it will help you,
I use this on a Geforce GTX 560M with cgminer version 3.7.5 works well with no HW errors and very few rejects.
Drop the --thread-concurrency 400 completely from the command line.
This produced the best kh/s of all settings tested with no HW errors and many less rejects, only get a few reject
every now and then now which is normal.
Edit: almost forgot in the folder that holds cgminer you will find a .bin file that will look something like this:
neoscrypt140909GeForce GTX 560Mgtc8128w128l4.bin
This you will want to move to a empty folder if you wish to save it or delete it before running the new commander line so it can
create a new neoscrypt140909GeForcexxxxxx.bin for your new settings. If you have done quite a few different command line settings
there will probably be more than one, move or remove them all.
cgminer.exe --neoscrypt --worksize 128 -I 10 -o stratum+tcp://p2pool.maeh.org:10554 -u Pn18tqfzFNPUcFjJRq1GRYdYDJjKTBNGpq -p x