Coder Social home page Coder Social logo

m8m's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

m8m's Issues

Config wizard hangs on reboot

An user running r290x reported the config wizard hangs after "probing hardware...".

This bug will have to be investigated with care. Users experiencing this issue can use the following config file for v450 as a temporary fix

{
    "pools": [
        {
            "url": "XXXXXXXXXXXXXX",
            "user": "XXXXXXXXXXXX",
            "pass": "XXXXXXXXXXXXXX",
            "coinDiffMul": 256,
            "algo": "qubit",
            "protocol": "stratum",
            "name": "XXXXXXXXXXXXXXXXXX"
        }
    ],
    "driver": "OCL",
    "algo": "qubit",
    "impl": "fiveSteps",
    "checkNonces": false,
    "implParams": {
        "qubit": {
            "fiveSteps": {
                "linearIntensity": YYYY
            }
        }
    }
}

An appropriate value for linearIntensity on 290x is probably somewhere topping at 4096.

Web functionalities are broken

It's a known issue. They haven't been upgraded to the new protocol version.
The new architecture deployed by 02f731c is way more flexible, odds are I'll have to re-think a few things.

Crash on exit

On rare occasions, exiting the miner using the context menu will cause application to crash.

This has been slightly investigated. It seems the error arises from the miner->onIterationCompleted callback (M8MMiningApp.cpp), calling IterationCompleted. It is speculated the structures are used after destruction as they are not protected from async destruction.

Note: the lack of protection is by design. The expected behavior was to terminate all mining threads before destroying the supporting structures. It is therefore obvious this isn't working as expected.

Broken hashing on VLIW4 Radeons

Albeit only GCN is supported, worth noticing.

22 VLIW4 CU @ 840Mhz seem to be much slower than 7750@850. Besides, they do not produce the correct nonces, even though they produce extremely high hashrate (~1800 khs).

Suspect: missing an LDS barrier somewhere.

opencl.dll not found

It has been reported M8M (unclear which build, possibly 801) fails to link to CL DLL.

It is suspected this happens using newer drivers as the old clCreateCommandQueue is deprecated in CL2.0. In theory I should be using clCreateCommandQueueWithProperties but I'm a bit late with the driver versions.

A couple of days ago, a new VHQL driver has been released. New version will transition to updated CL2 library.

As a side note: no CL2 features are going to be used as I have no CL2 hardware.

Cumulated activity time is negative.

For example it could be reported as

Cumulated activity time:    ~-100472462:43:03 (-361700860617 s)

For some reason, this didn't happen up to 929.
As expected, the seconds decrement instead of incrementing (..617,...616,...615...).
The "readable" count seems to go ok but of course it's counting in the wrong direction.

High reject rate (diff must adjust on next block)

This is interesting.

Originally, M8M set difficulty every time the pool set a new mining.notify message. I never fully understand why that would be the case and at the time many users reported lots of rejects.

A new communication channel was deployed to allow update of diff ASAP.

Apparently, the original way of doing things was the correct one.

Rant: I am surprised this is the case as the server would be required to track the requested difficulty instead of just pretending the client to comply right away... go figure! Will hopefully be fixed in next release (current is 929).

High CPU usage when using cards from multiple vendors.

The miner thread currently pushes work as hard as possible until all hashing tasks signal to be on a "wait for data transfer" stage.
Those signals are pooled in a single set used to sleep.
Unfortunately, this is not a valid operation when wait events come from different contexts. This causes wait to fail which in turn causes core usage go 100%.
A context is internal to each platform so this issue cannot be easily solved.
Possible solutions include:

  • Have a set of parallel threads waking up miner thread on first completion: relatively efficient but a lot of work for little benefit;
  • Just sleep for 1ms
  • clFinish

Latter 2 would need to be better investigated.
In the end, this does not seem to be something I want to support, much less implement soon.

Integration with MYR switcher

Agreed output format

<hashRate_total>;<accepted>;<rejected>;<generator_device>;<hashRate_device>

To be dumped to console when... a new share is reported? Sent? Agreed on the former.

Also required to disable tray icon.

Proposal is to have two new commandline switches

--notray
--showStats

Main problem: this interacts with the intended rewrite of the monitoring subsystem.
Also: should a --debugOutput switch be also added?

v801, slight performance degradation

It has been reported 801 is slightly slower than 0.0.520.
This is likely to be due to the contrived way I had to deploy to manage heterogeneous hardware waiting for completeness.

520 had #13 in which the slowest device would dictate how often often work was dispatched to the devices. In practice, fast devices would sleep until the slow device completed. They would then get equally sized work. This is due to how clWaitForEvents works (also see #5 and ultimately http://devgurus.amd.com/thread/170098).

A lot of effort was spent investigating a way to monitor event completeness. None was adeguately reliable/performing/maintenable/elegant. The solution employed in 801 is to have a set of threads to wake up on need. This obviously introduces scheduling latency in a blocking manner.

Possible solutions:

  1. Transition to a one-device one-thread architecture (this still does not solve the possibility a future algorithm might employ multiple parallel event-driven waits);
  2. use pipelined dispatchers: this would allow the device to keep working thus the wakeup latency would become non-blocking.

(2) is the whole point of the recent refactoring and continuing on that directions seems the most natural thing to do. Main issue is it hides the dirt instead of getting the rid of it.

Tonga/Qubit performance is terrible.

See user report. I'm lucky I got one doing copypaste.

Several things wrong here:

  • scaling my 7750 it should be about 2_1.15_3.5=8.5MHs, which is still a lot less than the >10MHs having been reported several months ago.
  • the driver is clearly incompatible as we got bad hashing.

Current plan of action upgrade my current driver OpenCL 2.0 AMD-APP (1912.5) to user OpenCL 2.0 AMD-APP (2004.6), hope and pray incompatibility can be reproduced.

High reject rates on multi-GPU systems.

Interesting: pulling out cards seems to reduce reject rates by the same proportions.

Could I be wrongly replicating the starting nonce offset? Possible but then the question would be: why cannot I detect this when using the replicated debug device?

Very interesting.

Config wizard, multi-gpu support

A major issue with per-gpu support is that the API does not guarantee any device ordering nor it is possible to reconstruct it portably (apparently GPUs don't have a unique ID stamped in each chip/card).

This however is not really a problem as long as I just take the currently enumerated devices and tweak them.

Does not exit if context menu is open

If a fatal error occurs while the menu is open the main thread will never exit as (realistically) the menu listener thread is locked. I'd have to cancel it in some way.

Pools failing to auth should be highlighted in red (?)

The idea is that pool not providing a matching algorithm are left white, while pools eligible for processing are green.

The failed login spews out an error message. Perhaps both green and red is confusing. Red over red would reduce contrast...

Broken device enumeration on Intel SB

It seems a certain Intel driver exposes a CL platform with only CPU as a device.
This will likely cause platform enumeration to fail with CL_DEVICE_NOT_FOUND as I only enumerate GPUs, which are not available in that configuration.

Open and connect to web monitor does not work

After a few hours of mining, cannot connect to monitor (note: can connect to admin once).
Browser fails to connect. The icon does not turn to green 'listening' state and the context menu does not allow to close, as the monitor is apparently not even opened.

As a coincidence, it was running with console output and shares are still being sent to pool.

First observed in 0.1.896 beta.

Massive regression in v801: command parameters are broken.

It's quite simple: StartParams::ParseParam is never called.

This happened as 801 was originally planned to integrate proper controls for #12 and testing the parameters was supposed to happen here.

MYR integration has been deferred to a future release but I forgot to include test parameter fetching.

Config wizard, adjust intensity slider more sensibly

This is more apparent in memory hard algorithms.
The current way the slider is generated is too inflexible, it can cause the card to run out of max alloc size and cause a stop.
That shouldn't be the case: since I'm now data driven I can adapt in advance.

Protocol needs to be extended to provide fixed costs and linear sizes required.

What if we consume very little memory? What in the case of grsmyr, which consumes O(1) memory?
Upper bound could easily be numCU_4_64*N on GCN.
Similar for lower bound, but I might want to force that only for algorithms which are not memory-hard. How do I evaluate that property? Several possibilities. Be sure to not end up like in the beginning, when the upper bound eventually turned out to be too little.

Interacts with #31.

Impossible, WU owner not found

This is a known issue.
It is present in all versions but it's particularly apparent in v801.
Previous versions just kept churning away doing nothing useful.

The good news: I mostly know how to reproduce it and I have a few ideas on how to fix it.

The bad news: fixing this is part of the intended rewrite of pool management involving high-frequency pool switching, a feature which is not planned even for Beta (it is probably a 1.0 feature).

Config wizard hangs on reboot, act 2

An user reported the config wizard bailing out after "Probing hardware..."
browser (Chrome) reports

Uncaught TypeError: Cannot read property 'substr' of undefined

System has 2 platforms

  1. Intel platform with 1 Intel CPU only (as usual), Pentium G3220. The processor ships with HD graphics but oddly it is not reported.
  2. AMD platform with 4 devices
    1. GPU, Tahiti GCN 1.0
    2. GPU, Hawaii GCN 1.1
    3. GPU Juniper (reported Radeon 6700)
    4. (oddly) CPU, pentium almost as above if not for a slight deviation in core clockrate

Driver version is 1526.3. At the time this is being written, current driver reports 1642.5.

User sent clinfo output:

Number of platforms:                             2
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 1.2
  Platform Name:                                 Intel(R) OpenCL
  Platform Vendor:                               Intel(R) Corporation
  Platform Extensions:                           cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing
  Platform Profile:                              FULL_PROFILE
  Platform Version:                              OpenCL 1.2 AMD-APP (1526.3)
  Platform Name:                                 AMD Accelerated Parallel Processing
  Platform Vendor:                               Advanced Micro Devices, Inc.
  Platform Extensions:                           cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices


  Platform Name:                                 Intel(R) OpenCL
Number of devices:                               1
  Device Type:                                   CL_DEVICE_TYPE_CPU
  Vendor ID:                                     8086h
  Max compute units:                             2
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           1024
  Preferred vector width char:                   1
  Preferred vector width short:                  1
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     4
  Native vector width double:                    2
  Max clock frequency:                           3000Mhz
  Address bits:                                  64
  Max memory allocation:                         1056850944
  Image support:                                 Yes
  Max number of images read arguments:           480
  Max number of images write arguments:          480
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    480
  Max size of kernel argument:                   3840
  Alignment (bits) of base address:              1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     Yes
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               No
    Round to +ve and infinity:                   No
    IEEE754-2008 fused multiply-add:             No
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    262144
  Global memory size:                            4227403776
  Constant buffer size:                          131072
  Max number of constant args:                   480
  Local memory type:                             Global
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     128
  Error correction support:                      0
  Unified memory for Host and Device:            1
  Profiling timer resolution:                    341
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:                                
    Execute OpenCL kernels:                      Yes
    Execute native function:                     Yes
  Queue properties:                              
    Out-of-Order:                                Yes
    Profiling :                                  Yes
  Platform ID:                                   000000000022A4C0
  Name:                                          Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
  Vendor:                                        Intel(R) Corporation
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                3.0.1.10878
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 (Build 76413)
  Extensions:                                    cl_khr_fp64 cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing


  Platform Name:                                 AMD Accelerated Parallel Processing
Number of devices:                               4
  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    AMD Radeon R9 200 Series
  Device Topology:                               PCI[ B#3, D#0, F#0 ]
  Max compute units:                             32
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   4
  Preferred vector width short:                  2
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      4
  Native vector width short:                     2
  Native vector width int:                       1
  Native vector width long:                      1
  Native vector width float:                     1
  Native vector width double:                    1
  Max clock frequency:                           1000Mhz
  Address bits:                                  32
  Max memory allocation:                         2951741440
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:                            3221225472
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:                                
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:                              
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   000007FEDF09DB60
  Name:                                          Tahiti
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1526.3 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1526.3)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    AMD Radeon R9 200 Series
  Device Topology:                               PCI[ B#1, D#0, F#0 ]
  Max compute units:                             40
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   4
  Preferred vector width short:                  2
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      4
  Native vector width short:                     2
  Native vector width int:                       1
  Native vector width long:                      1
  Native vector width float:                     1
  Native vector width double:                    1
  Max clock frequency:                           1000Mhz
  Address bits:                                  32
  Max memory allocation:                         3221225472
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:                            3221225472
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:                                
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:                              
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   000007FEDF09DB60
  Name:                                          Hawaii
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1526.3 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1526.3)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buffer cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    AMD Radeon HD 6700 Series
  Device Topology:                               PCI[ B#5, D#0, F#0 ]
  Max compute units:                             10
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   16
  Preferred vector width short:                  8
  Preferred vector width int:                    4
  Preferred vector width long:                   2
  Preferred vector width float:                  4
  Preferred vector width double:                 0
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     4
  Native vector width double:                    0
  Max clock frequency:                           1000Mhz
  Address bits:                                  32
  Max memory allocation:                         536870912
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    None
  Cache line size:                               0
  Cache size:                                    0
  Global memory size:                            1073741824
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:                                
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:                              
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   000007FEDF09DB60
  Name:                                          Juniper
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1526.3 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1526.3)
  Extensions:                                    cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_image2d_from_buffer_read_only cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_CPU
  Vendor ID:                                     1002h
  Board name:                                    
  Max compute units:                             2
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           1024
  Preferred vector width char:                   16
  Preferred vector width short:                  8
  Preferred vector width int:                    4
  Preferred vector width long:                   2
  Preferred vector width float:                  4
  Preferred vector width double:                 2
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     4
  Native vector width double:                    2
  Max clock frequency:                           2998Mhz
  Address bits:                                  64
  Max memory allocation:                         2147483648
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            8192
  Max image 2D height:                           8192
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   4096
  Alignment (bits) of base address:              1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     Yes
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    32768
  Global memory size:                            4227403776
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Global
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     1
  Error correction support:                      0
  Unified memory for Host and Device:            1
  Profiling timer resolution:                    341
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:                                
    Execute OpenCL kernels:                      Yes
    Execute native function:                     Yes
  Queue properties:                              
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   000007FEDF09DB60
  Name:                                          Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
  Vendor:                                        GenuineIntel
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1526.3 (sse2)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1526.3)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sharing cl_khr_spir cl_khr_gl_event

"Mining process is having issues" on init, init takes way too much.

There's this user running a rig with 4 7990 vidcards, making up for 8 GPUs @ 600/1000MHz.

Leaving aside the hashrate is easily 4x lower than expected, this bug is about:

after init,
icon turns yellow block and reports "Mining process is having issues".

Some elaborations

This is due to building the kernels in way too much time. 801 uses a watchdog-based monitoring approach. It was assumed no system would take so much time in initializing.

It is obvious this assumption proved to be false. Albeit this particular system is not in the target demographics, the reported bug can affect intended users.

As a side note

The mining process will eventually start (at reduced performance) but the block will stay yellow. "yellow" could truly be correct or not; it has to be investigated as well.

partial clinfo

  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:                            3221225472
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   00007FFC73B1CFB0
  Name:                                          Tahiti
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1445.5 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1445.5)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_
global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int3
2_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_
khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store
cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd
_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d1
0_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buff
er cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    AMD Radeon HD 7900 Series
  Device Topology:                               PCI[ B#15, D#0, F#0 ]
  Max compute units:                             32
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   4
  Preferred vector width short:                  2
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      4
  Native vector width short:                     2
  Native vector width int:                       1
  Native vector width long:                      1
  Native vector width float:                     1
  Native vector width double:                    1
  Max clock frequency:                           1000Mhz
  Address bits:                                  32
  Max memory allocation:                         1073741824
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:                            3221225472
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   00007FFC73B1CFB0
  Name:                                          Tahiti
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1445.5 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1445.5)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_
global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int3
2_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_
khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store
cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd
_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d1
0_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buff
er cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_GPU
  Vendor ID:                                     1002h
  Board name:                                    AMD Radeon HD 7900 Series
  Device Topology:                               PCI[ B#15, D#0, F#0 ]
  Max compute units:                             32
  Max work items dimensions:                     3
    Max work items[0]:                           256
    Max work items[1]:                           256
    Max work items[2]:                           256
  Max work group size:                           256
  Preferred vector width char:                   4
  Preferred vector width short:                  2
  Preferred vector width int:                    1
  Preferred vector width long:                   1
  Preferred vector width float:                  1
  Preferred vector width double:                 1
  Native vector width char:                      4
  Native vector width short:                     2
  Native vector width int:                       1
  Native vector width long:                      1
  Native vector width float:                     1
  Native vector width double:                    1
  Max clock frequency:                           1000Mhz
  Address bits:                                  32
  Max memory allocation:                         1073741824
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            16384
  Max image 2D height:                           16384
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   1024
  Alignment (bits) of base address:              2048
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     No
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    16384
  Global memory size:                            3221225472
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Scratchpad
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     64
  Error correction support:                      0
  Unified memory for Host and Device:            0
  Profiling timer resolution:                    1
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     No
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   00007FFC73B1CFB0
  Name:                                          Tahiti
  Vendor:                                        Advanced Micro Devices, Inc.
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1445.5 (VM)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1445.5)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_
global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int3
2_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_
khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store
cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_device_attribute_query cl_amd
_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d1
0_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_khr_image2d_from_buff
er cl_khr_spir cl_khr_gl_event


  Device Type:                                   CL_DEVICE_TYPE_CPU
  Vendor ID:                                     1002h
  Board name:
  Max compute units:                             8
  Max work items dimensions:                     3
    Max work items[0]:                           1024
    Max work items[1]:                           1024
    Max work items[2]:                           1024
  Max work group size:                           1024
  Preferred vector width char:                   16
  Preferred vector width short:                  8
  Preferred vector width int:                    4
  Preferred vector width long:                   2
  Preferred vector width float:                  8
  Preferred vector width double:                 4
  Native vector width char:                      16
  Native vector width short:                     8
  Native vector width int:                       4
  Native vector width long:                      2
  Native vector width float:                     8
  Native vector width double:                    4
  Max clock frequency:                           3016Mhz
  Address bits:                                  64
  Max memory allocation:                         4281098240
  Image support:                                 Yes
  Max number of images read arguments:           128
  Max number of images write arguments:          8
  Max image 2D width:                            8192
  Max image 2D height:                           8192
  Max image 3D width:                            2048
  Max image 3D height:                           2048
  Max image 3D depth:                            2048
  Max samplers within kernel:                    16
  Max size of kernel argument:                   4096
  Alignment (bits) of base address:              1024
  Minimum alignment (bytes) for any datatype:    128
  Single precision floating point capability
    Denorms:                                     Yes
    Quiet NaNs:                                  Yes
    Round to nearest even:                       Yes
    Round to zero:                               Yes
    Round to +ve and infinity:                   Yes
    IEEE754-2008 fused multiply-add:             Yes
  Cache type:                                    Read/Write
  Cache line size:                               64
  Cache size:                                    32768
  Global memory size:                            17124392960
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Global
  Local memory size:                             32768
  Kernel Preferred work group size multiple:     1
  Error correction support:                      0
  Unified memory for Host and Device:            1
  Profiling timer resolution:                    339
  Device endianess:                              Little
  Available:                                     Yes
  Compiler available:                            Yes
  Execution capabilities:
    Execute OpenCL kernels:                      Yes
    Execute native function:                     Yes
  Queue properties:
    Out-of-Order:                                No
    Profiling :                                  Yes
  Platform ID:                                   00007FFC73B1CFB0
  Name:                                                 Intel(R) Core(TM) i7-377
0K CPU @ 3.50GHz
  Vendor:                                        GenuineIntel
  Device OpenCL C version:                       OpenCL C 1.2
  Driver version:                                1445.5 (sse2,avx)
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.2 AMD-APP (1445.5)
  Extensions:                                    cl_khr_fp64 cl_amd_fp64 cl_khr_
global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int3
2_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_
khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store
cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec
3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_d3d10_sh
aring cl_khr_spir cl_amd_svm cl_khr_gl_event

(One question is why the user clipped off the head of the output... perhaps he just didn't know about output redirection, that's curious).

Broken hashing (qubit) on Catalyst 14.9

The shipped kernels had some issues with synchronization which made them incompatible with VLIW hardware. This was considered not an issue so far but...
It seems the new driver compiles differently, resulting in synchronization issues.

Initial investigation confirmed Luffa, CubeHash, SHAVite3, SIMD are correct.

It seems ECHO breaks somewhere after the AES lookup.

This problem manifests itself as two main symptoms:

  1. 100% rejected shares
  2. High amount of shares, much higher than normal work size would suggest, sometimes causing the nonce buffer to run out.

"giving up" while configuring

How to reproduce: start M8M with no config file. Open the admin wizard. Leave everything here.
After a while, M8M will "give up" due to lack of stratum traffic.

Web monitor broken if pool unreachable

Trying to connect will cause M8M to hang with connection reset. This is clearly not the correct thing to do (as it will prevent the user from understanding the problem).

Perhaps more interestingly, sometimes connection browser->web monitor will suceed, work unbelievably slow and hang more or less at random (likely connection to remote server times out?).

This has been first observed on 0.0.520 but very likely affects all previous versions as well.

Groestl-myr low performance on 280X

Reported by user A, running M8M and user B running M8M kernel ported to a special sgminer build.

User A reported lower performance, in the order of 25% lower.

User B reported performance cut in half. It is known he is using an old driver.

This must be better investigated by users themselves as I have no way to reproduce.

Gives up on reconnecting if connection attempt fails

Most simply demonstrated by looking at con out:

[14:41:59] Accepted 8243e331 Diff 1.965/1.920 GPU 0
[14:41:59] Accepted 571b2624 Diff 2.939/1.920 GPU 0
[14:42:24] Accepted 7b047129 Diff 2.081/1.920 GPU 0
[14:42:57] Rejected 578b1ff2 Diff 2.924/1.920 GPU 0
[14:44:25] Rejected 268996c1 Diff 6.643/1.920 GPU 0
[14:44:25] Rejected 0fbfad0e Diff 16.26/1.920 GPU 0
[14:44:25] Rejected 2c013399 Diff 5.817/1.920 GPU 0
[14:44:25] Rejected 35319023 Diff 4.813/1.920 GPU 0
Pool "MYR-qubit-m4f" DISCONNECTED!
Pool "MYR-qubit-m4f" connecting.
Pool "MYR-qubit-m4f" DISCONNECTED!

Also: it has been observed pool state is not evolved correctly (number of activations, total active time) after this happens.

Automatically open monitor port

Currently, one has to enable monitor before connecting to it.
It is unnecessarily redundant. I can just auto-open this on need so in most of the time only 1 click is required. Users wanting to only open can just close the browser window instead.

Web monitor not accessible until init complete

Reported by the same user as #19

This is a known issue. As of 801 I have begun to restructure everything so web services are pulled up before even trying init.

A minor annoyance is: the web monitor protocol does not adequately support updating some values involved by pulling up the miners after the monitor itself is started. I will have to investigate whatever this is a real world problem. Sure thing is the web facilities should be up way before init completes.

Not sure this is even a bug. It is really how the way was supposed to be, just unconvenient. So I'm tagging it both bug and enhancement.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.