elective-stereophonic
elective-stereophonic
NxtMint Java minter singapore
Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest Nxt Client: Nxt 1.11.15

Pages: 1 ... 4 5 [6] 7 8 ... 20  All

Author Topic: NxtMint Java minter  (Read 50423 times)

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #100 on: January 19, 2015, 03:27:30 pm »

Ty works like a charm(EGOLD), if you need someone to test multi gpu send it over to me.
Multiple GPU support is next on my list.  Since I have a single GPU, this means you will be an alpha tester :).  Device range support is something that Aparapi recently added, so you might end up debugging their code as well.

The SCRYPT support is looking promising.  I'm almost done with the HmacSha256 support which is required for Scrypt.  Once that is working, Scrypt itself should be quick since it is just a loop with multiple HmacSha256 hash requests in each loop.  The time-consuming part is testing each piece in isolation since there are no debug message while in kernel mode and there are a lot of subtle gotchas using multiple address spaces on the GPU (for global vs private data).
Logged

cryptoventurefund

  • Full Member
  • ***
  • Karma: +32/-9
  • Offline Offline
  • Posts: 199
  • Please call me Mike
    • View Profile
Re: NxtMint Java minter
« Reply #101 on: January 19, 2015, 07:00:19 pm »

ScripterRon i couldn't get the first version to work for some strange reason, but 1.1 did the trick.

It's amazing!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

You sir, rock!  8) 8) 8) 8) 8) 8) 8)
Logged
NXT-SBSP-BPHH-E7BR-9USXU is promoting the use of NXT in the real life, see : http://www.NXTtracker.com...
Member of TheNxtForex committee

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #102 on: January 19, 2015, 07:57:59 pm »

SCRYPT support looks promising.  I need to go through the code and try to reduce the path length as much as possible.  Then I'll let it mint for awhile to shake out any bugs.  Note that you'll need a graphics card with a fair amount of memory since the hash data will take 130 KB per kernel group instance.  So if your card supports the maximum of 256 instances per group, that would around 32 MB of data.
« Last Edit: January 19, 2015, 08:53:52 pm by ScripterRon »
Logged

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #103 on: January 19, 2015, 11:08:54 pm »

SCRYPT support looks promising.  I need to go through the code and try to reduce the path length as much as possible.  Then I'll let it mint for awhile to shake out any bugs.  Note that you'll need a graphics card with a fair amount of memory since the hash data will take 130 KB per kernel group instance.  So if your card supports the maximum of 256 instances per group, that would around 32 MB of data.
Well, SCRYPT mining is working and the NRS server accepts the minting transactions.  But it brings my NVIDIA card to its knees and isn't much faster than just using the CPU.  Looking at some comparison charts, AMD is much better than NVIDIA for SCRYPT mining.  If somebody wants to try this on their system, let me know and I'll send them the jar.

I'm not sure that I can improve performance because SCRYPT has very large hash loops (especially the salsa rounds).
Logged

KrusherPT

  • Jr. Member
  • **
  • Karma: +1/-0
  • Offline Offline
  • Posts: 17
    • View Profile
    • KrusherPT Blog
Re: NxtMint Java minter
« Reply #104 on: January 19, 2015, 11:37:11 pm »

You can send it to me I can test, I'm a bit lame so anything else I need to do, or just paste on the 1.1 folder and change the exec command...
Logged
Donate to help me! NXT-HEWU-6KDT-BM8Q-6A9GY
My public nodes:
vps.krusherpt.com | node.krusherpt.com | node2.krusherpt.com

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #105 on: January 20, 2015, 02:45:41 am »

I was getting a JVM crash attempting to use local memory on the graphics card.  So I updated my NVIDIA driver to see if that would fix the problem.  Nope - just made it worse since now I can't use private memory either.  The only thing that works is global memory.  Reverting to the old NVIDIA driver would get me running again but I don't want to tell people they have to downlevel their systems to get NxtMint to work.  So I'm going to stay with the current NVIDIA driver (the Keccak25 and SHA-256 GPU code still works since they use just global memory).

This all started as I tried to fix the SCRYPT performance problem.  The problem was caused by using private memory for the huge digest array.  Changing that to global memory gave a 10x performance boost.  But global memory is shared by all kernel instances, so that isn't a solution to instance-dependent data unless you have a small number of instances.

The answer is probably to access the GPU from native C/C++ code instead of using Aparapi.  But that leads to platform dependencies when building and testing the code.  I'll look around the web and see if anything is available.
Logged

Wakasaki808

  • Sr. Member
  • ****
  • Karma: +14/-0
  • Offline Offline
  • Posts: 275
    • View Profile
Re: NxtMint Java minter
« Reply #106 on: January 20, 2015, 06:24:03 am »

Not sure if anybody else has had a problem with this...

But I can't get the NxtMint to actually use my Nvidia GPU...using my laptop it always goes to my Intel HD Graphics and not my Nvidia GPU. (It shows a 'GPU' is being used in the cmd prompt but just not the correct GPU) I can't load it as a program because its not an .exe file and when I set .jar to run using the dedicated card through control settings it doesn't do anything...

Guarantee its because of my 'Nvidia Control Panel' and the way Nvidia specifies what programs to use what GPU. But still haven't been able to get the NxtMint to actually use the Nvidia after playing with settings for a few hours. There is likely a way to fix this, can't figure it out though.

 :-[
« Last Edit: January 20, 2015, 06:26:26 am by Wakasaki808 »
Logged
NXT-98EP-BVRB-WU6B-386RA

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #107 on: January 20, 2015, 06:29:19 am »

But I can't get the NxtMint to actually use my Nvidia GPU...using my laptop it always goes to my Intel HD Graphics and not my Nvidia 860. (It shows a 'GPU' is being used in the cmd prompt but just not the correct GPU) I can't load it as a program because its not an .exe file and when I set .jar to run using the dedicated card through control settings it doesn't do anything...
Aparapi uses the first GPU that it finds.  I'm going to see if I can let you specify which GPU to use.  If that is successful, then I should also be able to execute an OpenCL kernel on more than one GPU.
Logged

lopalcar

  • Hero Member
  • *****
  • Karma: +99/-15
  • Offline Offline
  • Posts: 561
    • View Profile
Re: NxtMint Java minter
« Reply #108 on: January 20, 2015, 08:16:52 am »

Not sure if anybody else has had a problem with this...

But I can't get the NxtMint to actually use my Nvidia GPU...using my laptop it always goes to my Intel HD Graphics and not my Nvidia GPU. (It shows a 'GPU' is being used in the cmd prompt but just not the correct GPU) I can't load it as a program because its not an .exe file and when I set .jar to run using the dedicated card through control settings it doesn't do anything...

Guarantee its because of my 'Nvidia Control Panel' and the way Nvidia specifies what programs to use what GPU. But still haven't been able to get the NxtMint to actually use the Nvidia after playing with settings for a few hours. There is likely a way to fix this, can't figure it out though.

 :-[
Try to disable the integrated GPU from the BIOS
Logged

794259332

  • Newbie
  • *
  • Karma: +0/-0
  • Offline Offline
  • Posts: 7
    • View Profile
Re: NxtMint Java minter
« Reply #109 on: January 20, 2015, 03:21:36 pm »

only one gpu can mining?  how about setting for multi gpu cards
Logged

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #110 on: January 20, 2015, 04:42:26 pm »

I got local memory working on my NVidia GT 720 and moved the Scrypt salsa array from global memory to local memory.  This gave a 5x performance improvement.  If you want to try a pre-release, you can download an updated NxtMint-1.1.0.jar from https://drive.google.com/open?id=0B1312_6UqRHPQmhXWWdSdzNzWUk&authuser=0.
Logged

KrusherPT

  • Jr. Member
  • **
  • Karma: +1/-0
  • Offline Offline
  • Posts: 17
    • View Profile
    • KrusherPT Blog
Re: NxtMint Java minter
« Reply #111 on: January 20, 2015, 05:32:46 pm »

I'm getting 0.0038 ~ 0.0045 MH/s on a AMD 7770 at I=125 and GPU 99%, desktop lags alot.
And 1 core from my amd fx 6300 its 0.0021, so still slow.
But good job anyway, you are a hero for doing the miner :D
« Last Edit: January 20, 2015, 05:35:49 pm by KrusherPT »
Logged
Donate to help me! NXT-HEWU-6KDT-BM8Q-6A9GY
My public nodes:
vps.krusherpt.com | node.krusherpt.com | node2.krusherpt.com

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #112 on: January 20, 2015, 06:34:05 pm »

I'm getting 0.0038 ~ 0.0045 MH/s on a AMD 7770 at I=125 and GPU 99%, desktop lags alot.
And 1 core from my amd fx 6300 its 0.0021, so still slow.
But good job anyway, you are a hero for doing the miner :D
Scrypt has a very long instruction path length compared to other algorithms (you can see this by comparing the CPU hash rates for the various algorithms).  This leads to the sluggish desktop problem because the GPU is busy for an extended period for each kernel execution. 

I'm sure the bottleneck is the salsa permutations (which consist of a bunch of shifts, xor and swaps).  I get around 0.0080 MH/s on an NVIDIA GT 720, which still isn't very good.

By the way, Aparapi provides a little 'info' utility in their samples.  You can run it to display your device configuration by running 'info.bat' or 'info.sh'

My configuration:

Machine contains 1 OpenCL platforms
Platform 0{
   Name    : "NVIDIA CUDA"
   Vendor  : "NVIDIA Corporation"
   Version : "OpenCL 1.1 CUDA 7.0.18"
   Platform contains 1 OpenCL devices
   Device 0{
       Type                  : GPU
       GlobalMemSize         : 1073741824
       LocalMemSize          : 49151
       MaxComputeUnits       : 2
       MaxWorkGroupSizes     : 1024
       MaxWorkItemDimensions : 3
   }
}
Logged

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #113 on: January 20, 2015, 07:42:26 pm »

Scrypt is getting better.  Up to 0.0095 MH/s (Worker 4 is my GPU worker).  The desktop is more responsive (I can actually enter data while the minter is running now).  New test version out on Google Drive.
Code: [Select]
02:36:49 INFO Main.main: Java Nxt Mint Version 1.1.0
02:36:49 INFO Main.main: Application data path: C:\Users\Ronald\Appdata\Roaming\NxtMint
02:36:49 INFO Main.main: Using Nxt node at scripterron.dyndns.biz:7876
02:36:49 INFO Main.main: Minting 5.000000 units of ELEMS for account NXT-XM86-4ZNA-65L5-CD
WUE: 4 CPU threads, 10 GPU intensity
02:36:49 INFO Nxt.init: API node=scripterron.dyndns.biz, API port=7876
02:36:51 FINE GpuScrypt.<init>: SCRYPT GPU local size 256, group size 512
02:36:51 FINE MintWorker.run: Worker 2 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 1 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 0 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 3 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 4 starting on counter 10
02:37:51 FINE MintWorker.run: Worker 2: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 0: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 3: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 1: 0.15 MHash, 0.0025 MHash/s
02:37:52 FINE MintWorker.run: Worker 4: 0.57 MHash, 0.0096 MHash/s
« Last Edit: January 20, 2015, 07:45:03 pm by ScripterRon »
Logged

Wakasaki808

  • Sr. Member
  • ****
  • Karma: +14/-0
  • Offline Offline
  • Posts: 275
    • View Profile
Re: NxtMint Java minter
« Reply #114 on: January 20, 2015, 07:44:07 pm »

Scrypt is getting better.  Up to 0.95 MH/s (Worker 4 is my GPU worker).  The desktop is more responsive (I can actually enter data while the minter is running now).  New version out on Google Drive.
Code: [Select]
02:36:49 INFO Main.main: Java Nxt Mint Version 1.1.0
02:36:49 INFO Main.main: Application data path: C:\Users\Ronald\Appdata\Roaming\NxtMint
02:36:49 INFO Main.main: Using Nxt node at scripterron.dyndns.biz:7876
02:36:49 INFO Main.main: Minting 5.000000 units of ELEMS for account NXT-XM86-4ZNA-65L5-CD
WUE: 4 CPU threads, 10 GPU intensity
02:36:49 INFO Nxt.init: API node=scripterron.dyndns.biz, API port=7876
02:36:51 FINE GpuScrypt.<init>: SCRYPT GPU local size 256, group size 512
02:36:51 FINE MintWorker.run: Worker 2 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 1 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 0 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 3 starting on counter 10
02:36:51 FINE MintWorker.run: Worker 4 starting on counter 10
02:37:51 FINE MintWorker.run: Worker 2: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 0: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 3: 0.15 MHash, 0.0025 MHash/s
02:37:51 FINE MintWorker.run: Worker 1: 0.15 MHash, 0.0025 MHash/s
02:37:52 FINE MintWorker.run: Worker 4: 0.57 MHash, 0.0096 MHash/s

Nice to see this progressing :)
Logged
NXT-98EP-BVRB-WU6B-386RA

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #115 on: January 21, 2015, 01:45:42 am »

A new test version of NxtMint is available at https://drive.google.com/open?id=0B1312_6UqRHPQmhXWWdSdzNzWUk&authuser=0

I have added support for specifying one or more GPU devices to be used for minting.  Since I have just one graphics card, I'm unable to test this.  OpenCL does not provide a method to tie an OpenCL device to a physical adapter (each card maker has its own OpenCL plugins but these are not available to my Java program).  Even the OpenCL device identifier changes each time you start your program.  So you will have to identify the adapters to be used based on the enumeration order (first adapter listed is 0, second adapter is 1, and so forth).  To help you identify what is available. NxtMint will list all available GPU devices when it is started with a non-zero value for gpuIntensity.  Hopefully the order will remain the same unless you add/remove cards from your system.

The gpuDevice configuration parameter specifies the device to be used and can be repeated multiple times to use more than one adapter.
Logged

Jimmy2011

  • Sr. Member
  • ****
  • Karma: +24/-19
  • Offline Offline
  • Posts: 329
    • View Profile
Re: NxtMint Java minter
« Reply #116 on: January 21, 2015, 01:58:44 am »

I'm getting the following results on my GTX 580 Nvidia GPU with ScryptGPUV1 and ScryptGPUV2(the latest version):

Code: [Select]
cpuThreads = 0
GPU local size 256, group size 1024
ScryptGPUV1 = 0.0035 Mhash/s

Code: [Select]
cpuThreads = 0
GPU local size 256, group size 512
ScryptGPUV2 = 0.0027 Mhash/s

Code: [Select]
cpuThreads = 4
GPU local size 256, group size 512
CPUWorker = 0.0014 Mhash/s for each CPU worker
ScryptGPUV1 = 0.0027 Mhash/s
totalHashRate ~ 0.0083 MH/s

Code: [Select]
cpuThreads = 4
GPU local size 256, group size 512
CPUWorker = 0.0014 Mhash/s for each CPU worker
ScryptGPUV2 = 0.0027 Mhash/s
totalHashRate ~ 0.0083 MH/s

Code: [Select]
cpuThreads = 6
GPU = 0
CPUWorker = 0.0014 Mhash/s for each CPU worker
totalHashRate ~ 0.0084 MH/s


Note that GPU temperature is only ~66 dc for all the above cases with GPULoad =99%, however, it is more than 70 dc when mining EGOLD. I have two processors with total 8 threads in my machine.




Logged
NXT-LX5G-L63N-ST8S-9LVZY

ScripterRon

  • Hero Member
  • *****
  • Karma: +75/-2
  • Offline Offline
  • Posts: 523
    • View Profile
Re: NxtMint Java minter
« Reply #117 on: January 21, 2015, 04:36:38 am »

I'm getting the following results on my GTX 580 Nvidia GPU with ScryptGPUV1 and ScryptGPUV2(the latest version):

Note that GPU temperature is only ~66 dc for all the above cases with GPULoad =99%, however, it is more than 70 dc when mining EGOLD. I have two processors with total 8 threads in my machine.
It looks like your GPU has more than 2 compute units since the hash rate went down when I reduced the group count from 4 to 2 (1024 global instances to 512 global instances with 256 instances per compute unit).  The code I just uploaded to Google Drive will display GPU information during NxtMint initialization, so you can see how many compute units are available on your card.  Each compute unit has multiple cores and its own local memory.  For example, my card has 384 CUDA cores and 2 compute units, which means that each compute unit has 192 cores.

I'll change the code to dynamically allocate the global size based on the number of compute units (right now it is a fixed initialization).  Still, I wonder why you are only getting 0.0027MH/s.  Perhaps your local memory is too small (that will also be displayed when NxtMint starts up).  I need 128 bytes of local memory for each instance or 32KB for 256 instances (my card has 48KB of local memory per compute unit).  So I might need to adjust the local size as well if enough memory isn't available.

Aparapi has an upper limit of 256 instances in a work group.  So if a compute unit has more than 256 cores, the extra cores won't be used.
Logged

Jimmy2011

  • Sr. Member
  • ****
  • Karma: +24/-19
  • Offline Offline
  • Posts: 329
    • View Profile
Re: NxtMint Java minter
« Reply #118 on: January 21, 2015, 09:22:51 am »

I'm getting the following results on my GTX 580 Nvidia GPU with ScryptGPUV1 and ScryptGPUV2(the latest version):

Note that GPU temperature is only ~66 dc for all the above cases with GPULoad =99%, however, it is more than 70 dc when mining EGOLD. I have two processors with total 8 threads in my machine.
It looks like your GPU has more than 2 compute units since the hash rate went down when I reduced the group count from 4 to 2 (1024 global instances to 512 global instances with 256 instances per compute unit).  The code I just uploaded to Google Drive will display GPU information during NxtMint initialization, so you can see how many compute units are available on your card.  Each compute unit has multiple cores and its own local memory.  For example, my card has 384 CUDA cores and 2 compute units, which means that each compute unit has 192 cores.

I'll change the code to dynamically allocate the global size based on the number of compute units (right now it is a fixed initialization).  Still, I wonder why you are only getting 0.0027MH/s.  Perhaps your local memory is too small (that will also be displayed when NxtMint starts up).  I need 128 bytes of local memory for each instance or 32KB for 256 instances (my card has 48KB of local memory per compute unit).  So I might need to adjust the local size as well if enough memory isn't available.

Aparapi has an upper limit of 256 instances in a work group.  So if a compute unit has more than 256 cores, the extra cores won't be used.

I have 16 compute units as following.  BTW, it seems that the latest version has poor performance as minting EGOLD compared with the public released 1.1.0 version.

Code: [Select]
05:17:34 INFO Main.buildGpuList: GPU device 0: NVIDIA CUDA, 3072MB global memory
, 48KB local memory, 16 compute units
Logged
NXT-LX5G-L63N-ST8S-9LVZY

794259332

  • Newbie
  • *
  • Karma: +0/-0
  • Offline Offline
  • Posts: 7
    • View Profile
Re: NxtMint Java minter
« Reply #119 on: January 21, 2015, 10:08:34 am »

how  to set up for 2 gpu cards
Logged
Pages: 1 ... 4 5 [6] 7 8 ... 20  All
 

elective-stereophonic
elective-stereophonic
assembly
assembly