Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HD 6970 Error Buffer Size or reduced HashRate #490

Closed
jahknem opened this issue Dec 11, 2017 · 5 comments
Closed

HD 6970 Error Buffer Size or reduced HashRate #490

jahknem opened this issue Dec 11, 2017 · 5 comments

Comments

@jahknem
Copy link

jahknem commented Dec 11, 2017

When running the miner with my HD 6970 it says: "Error CL_INVALID_BUFFER_SIZE when calling clCreateBuffer to create hash scratchpads buffer."
This happens if I use either 0 or anything above 256 as intensity variable.
When using anything between 0 and 256 as Intensity the Hashrate is still below what it should be at max 100 H/s.
After that it only starts the CPU Miner (albeit at a very reduced hashrate. 80H/s instead of the 200 H/s it achieves with the xmrig 2.4.3)

Basic information

  • Type of the CPU: FX 6300
  • Type of the GPU: HD 6970

Compile issues

  • Which OS do you use?
    Windows Server 2012 R2 64 Bit
    add all commands you used and the full compile output here

run cmake -LA . in the build folder and add the output here

Issue with the execution

  • Do you compiled the miner by our own?
    No. I used the precompiled binary v2.1.0

run ./xmr-stak --version-long and add the output here

"Version: xmr-stak/2.1.0/30888a3/master/win/nvidia-amd-cpu/aeon-monero/20
Press any key to exit."

AMD OpenCl issue

run clinfo and add the output here

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Jan>clinfo
Number of platforms:                             1
Platform Profile:                              FULL_PROFILE
Platform Version:                              OpenCL 2.0 AMD-APP (1800.8)
Platform Name:                                 AMD Accelerated Parallel Proces
sing
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_offl
ine_devices


Platform Name:                                 AMD Accelerated Parallel Proces
sing
Number of devices:                               2
Device Type:                                   CL_DEVICE_TYPE_GPU
Vendor ID:                                     1002h
Board name:                                    AMD Radeon HD 6900 Series
Device Topology:                               PCI[ B#1, D#0, F#0 ]
Max compute units:                             24
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:                 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:                           880Mhz
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:                            2147483648
Constant buffer size:                          65536
Max number of constant args:                   8
Local memory type:                             Scratchpad
Local memory size:                             32768
Max pipe arguments:                            0
Max pipe active reservations:                  0
Max pipe packet size:                          0
Max global variable size:                      0
Max global variable preferred total size:      0
Max read/write image args:                     0
Max on device events:                          0
Queue on device max size:                      0
Max on device queues:                          0
Queue on device preferred size:                0
SVM capabilities:
  Coarse grain buffer:                         No
  Fine grain buffer:                           No
  Fine grain system:                           No
  Atomics:                                     No
Preferred platform atomic alignment:           0
Preferred global atomic alignment:             0
Preferred local atomic alignment:              0
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 on Host properties:
  Out-of-Order:                                No
  Profiling :                                  Yes
Queue on Device properties:
  Out-of-Order:                                No
  Profiling :                                  No
Platform ID:                                   00007FF9C37AF180
Name:                                          Cayman
Vendor:                                        Advanced Micro Devices, Inc.
Device OpenCL C version:                       OpenCL C 1.2
Driver version:                                1800.8 (VM)
Profile:                                       FULL_PROFILE
Version:                                       OpenCL 1.2 AMD-APP (1800.8)
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_3d_image_writes cl_khr
_byte_addressable_store cl_khr_gl_sharing cl_ext_atomic_counters_32 cl_amd_devic
e_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 c
l_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:                             6
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:                           3524Mhz
Address bits:                                  64
Max memory allocation:                         4290084864
Image support:                                 Yes
Max number of images read arguments:           128
Max number of images write arguments:          64
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:                                    16384
Global memory size:                            17160339456
Constant buffer size:                          65536
Max number of constant args:                   8
Local memory type:                             Global
Local memory size:                             32768
Max pipe arguments:                            16
Max pipe active reservations:                  16
Max pipe packet size:                          4290084864
Max global variable size:                      1879048192
Max global variable preferred total size:      1879048192
Max read/write image args:                     64
Max on device events:                          0
Queue on device max size:                      0
Max on device queues:                          0
Queue on device preferred size:                0
SVM capabilities:
  Coarse grain buffer:                         No
  Fine grain buffer:                           No
  Fine grain system:                           No
  Atomics:                                     No
Preferred platform atomic alignment:           0
Preferred global atomic alignment:             0
Preferred local atomic alignment:              0
Kernel Preferred work group size multiple:     1
Error correction support:                      0
Unified memory for Host and Device:            1
Profiling timer resolution:                    69
Device endianess:                              Little
Available:                                     Yes
Compiler available:                            Yes
Execution capabilities:
  Execute OpenCL kernels:                      Yes
  Execute native function:                     Yes
Queue on Host properties:
  Out-of-Order:                                No
  Profiling :                                  Yes
Queue on Device properties:
  Out-of-Order:                                No
  Profiling :                                  No
Platform ID:                                   00007FF9C37AF180
Name:                                          AMD FX(tm)-6300 Six-Core Proces
sor
Vendor:                                        AuthenticAMD
Device OpenCL C version:                       OpenCL C 1.2
Driver version:                                1800.8 (sse2,avx,fma4)
Profile:                                       FULL_PROFILE
Version:                                       OpenCL 1.2 AMD-APP (1800.8)
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_khr_gl_event



C:\Users\Jan>

Stability issue

  • Is the CPU or GPU overclocked? Not overclocked nor underclocked
  • Is the Main memory of the CPU or GPU undervolted? not undervolted nor overvolted
@Simaex
Copy link

Simaex commented Dec 11, 2017

Same issue with HD6990 is already submitted. Miner not using AMD 6990 GPU #472

@fireice-uk
Copy link
Owner

What is your config?

@jahknem
Copy link
Author

jahknem commented Dec 12, 2017

Sorry, I forgot about that. Here it is:

/*
 * pool_address    - Pool address should be in the form "pool.supportxmr.com:3333". Only stratum pools are supported.
 * wallet_address  - Your wallet, or pool login.
 * pool_password   - Can be empty in most cases or "x".
 * use_nicehash    - Limit the nonce to 3 bytes as required by nicehash.
 * use_tls         - This option will make us connect using Transport Layer Security.
 * tls_fingerprint - Server's SHA256 fingerprint. If this string is non-empty then we will check the server's cert against it.
 * pool_weight     - Pool weight is a number telling the miner how important the pool is. Miner will mine mostly at the pool 
 *                   with the highest weight, unless the pool fails. Weight must be an integer larger than 0.
 *
 * We feature pools up to 1MH/s. For a more complete list see M5M400's pool list at www.moneropools.com
 */
"pool_list" :
[
	{"pool_address" : "pool.xmrpool.de:7777", "wallet_address" : "463tWEBn5XZJSxLU6uLQnQ2iY9xuNcDbjLSjkn3XAXHCbLrTTErJrBWYgHJQyrCwkNgYvyV3z8zctJLPCZy24jvb3NiTcTJ.1af88299afa54ded928a5577d4b66a812705cc115c4a478abf437453710454a4", "pool_password" : "x", "use_nicehash" : false, "use_tls" : false, "tls_fingerprint" : "", "pool_weight" : 1 },
],

/*
 * currency to mine
 * allowed values: 'monero' or 'aeon'
 */
"currency" : "monero",

/*
 * Network timeouts.
 * Because of the way this client is written it doesn't need to constantly talk (keep-alive) to the server to make 
 * sure it is there. We detect a buggy / overloaded server by the call timeout. The default values will be ok for 
 * nearly all cases. If they aren't the pool has most likely overload issues. Low call timeout values are preferable -
 * long timeouts mean that we waste hashes on potentially stale jobs. Connection report will tell you how long the
 * server usually takes to process our calls.
 *
 * call_timeout - How long should we wait for a response from the server before we assume it is dead and drop the connection.
 * retry_time	- How long should we wait before another connection attempt.
 *                Both values are in seconds.
 * giveup_limit - Limit how many times we try to reconnect to the pool. Zero means no limit. Note that stak miners
 *                don't mine while the connection is lost, so your computer's power usage goes down to idle.
 */
"call_timeout" : 10,
"retry_time" : 30,
"giveup_limit" : 0,

/*
 * Output control.
 * Since most people are used to miners printing all the time, that's what we do by default too. This is suboptimal
 * really, since you cannot see errors under pages and pages of text and performance stats. Given that we have internal
 * performance monitors, there is very little reason to spew out pages of text instead of concise reports.
 * Press 'h' (hashrate), 'r' (results) or 'c' (connection) to print reports.
 *
 * verbose_level - 0 - Don't print anything.
 *                 1 - Print intro, connection event, disconnect event
 *                 2 - All of level 1, and new job (block) event if the difficulty is different from the last job
 *                 3 - All of level 1, and new job (block) event in all cases, result submission event.
 *                 4 - All of level 3, and automatic hashrate report printing
 *
 * print_motd    - Display messages from your pool operator in the hashrate result.
 */
"verbose_level" : 4,
"print_motd" : true,

/*
 * Automatic hashrate report
 *
 * h_print_time - How often, in seconds, should we print a hashrate report if verbose_level is set to 4.
 *                This option has no effect if verbose_level is not 4.
 */
"h_print_time" : 60,

/*
 * Manual hardware AES override
 *
 * Some VMs don't report AES capability correctly. You can set this value to true to enforce hardware AES or
 * to false to force disable AES or null to let the miner decide if AES is used.
 *
 * WARNING: setting this to true on a CPU that doesn't support hardware AES will crash the miner.
 */
"aes_override" : null,

/*
 * LARGE PAGE SUPPORT
 * Large pages need a properly set up OS. It can be difficult if you are not used to systems administration,
 * but the performance results are worth the trouble - you will get around 20% boost. Slow memory mode is
 * meant as a backup, you won't get stellar results there. If you are running into trouble, especially
 * on Windows, please read the common issues in the README.
 *
 * By default we will try to allocate large pages. This means you need to "Run As Administrator" on Windows.
 * You need to edit your system's group policies to enable locking large pages. Here are the steps from MSDN
 *
 * 1. On the Start menu, click Run. In the Open box, type gpedit.msc.
 * 2. On the Local Group Policy Editor console, expand Computer Configuration, and then expand Windows Settings.
 * 3. Expand Security Settings, and then expand Local Policies.
 * 4. Select the User Rights Assignment folder.
 * 5. The policies will be displayed in the details pane.
 * 6. In the pane, double-click Lock pages in memory.
 * 7. In the Local Security Setting – Lock pages in memory dialog box, click Add User or Group.
 * 8. In the Select Users, Service Accounts, or Groups dialog box, add an account that you will run the miner on
 * 9. Reboot for change to take effect.
 *
 * Windows also tends to fragment memory a lot. If you are running on a system with 4-8GB of RAM you might need
 * to switch off all the auto-start applications and reboot to have a large enough chunk of contiguous memory.
 *
 * On Linux you will need to configure large page support "sudo sysctl -w vm.nr_hugepages=128" and increase your
 * ulimit -l. To do do this you need to add following lines to /etc/security/limits.conf - "* soft memlock 262144"
 * and "* hard memlock 262144". You can also do it Windows-style and simply run-as-root, but this is NOT
 * recommended for security reasons.
 *
 * Memory locking means that the kernel can't swap out the page to disk - something that is unlikely to happen on a
 * command line system that isn't starved of memory. I haven't observed any difference on a CLI Linux system between
 * locked and unlocked memory. If that is your setup see option "no_mlck".
 */

/*
 * use_slow_memory defines our behaviour with regards to large pages. There are three possible options here:
 * always  - Don't even try to use large pages. Always use slow memory.
 * warn    - We will try to use large pages, but fall back to slow memory if that fails.
 * no_mlck - This option is only relevant on Linux, where we can use large pages without locking memory.
 *           It will never use slow memory, but it won't attempt to mlock
 * never   - If we fail to allocate large pages we will print an error and exit.
 */
"use_slow_memory" : "warn",

/*
 * TLS Settings
 * If you need real security, make sure tls_secure_algo is enabled (otherwise MITM attack can downgrade encryption
 * to trivially breakable stuff like DES and MD5), and verify the server's fingerprint through a trusted channel.
 *
 * tls_secure_algo - Use only secure algorithms. This will make us quit with an error if we can't negotiate a secure algo.
 */
"tls_secure_algo" : true,

/*
 * Daemon mode
 *
 * If you are running the process in the background and you don't need the keyboard reports, set this to true.
 * This should solve the hashrate problems on some emulated terminals.
 */
"daemon_mode" : false,

/*
 * Buffered output control.
 * When running the miner through a pipe, standard output is buffered. This means that the pipe won't read
 * each output line immediately. This can cause delays when running in background.
 * Set this option to true to flush stdout after each line, so it can be read immediately.
 */
"flush_stdout" : false,

/*
 * Output file
 *
 * output_file  - This option will log all output to a file.
 *
 */
"output_file" : "",

/*
 * Built-in web server
 * I like checking my hashrate on my phone. Don't you?
 * Keep in mind that you will need to set up port forwarding on your router if you want to access it from
 * outside of your home network. Ports lower than 1024 on Linux systems will require root.
 *
 * httpd_port - Port we should listen on. Default, 0, will switch off the server.
 */
"httpd_port" : 32100,

/*
 * HTTP Authentication
 *
 * This allows you to set a password to keep people on the Internet from snooping on your hashrate.
 * Keep in mind that this is based on HTTP Digest, which is based on MD5. To a determined attacker
 * who is able to read your traffic it is as easy to break a bog door latch.
 *
 * http_login - Login. Empty login disables authentication.
 * http_pass  - Password.
 */ 
"http_login" : "C0degh0st",
"http_pass" : "-",
 
/*
 * prefer_ipv4 - IPv6 preference. If the host is available on both IPv4 and IPv6 net, which one should be choose?
 *               This setting will only be needed in 2020's. No need to worry about it now.
 */
"prefer_ipv4" : true,

@JerichoJones
Copy link

I think he mean't your AMD.TXT

@jahknem
Copy link
Author

jahknem commented Dec 29, 2017

I've since changed the setup. Thanks though

@jahknem jahknem closed this as completed Dec 29, 2017
dougvj added a commit to dougvj/xmr-stak that referenced this issue Dec 31, 2017
Occassionally the auto adjust doesn't find enough memory and the
intensity is detected too low and aligned to 0 with the compute units.
This patch fixes this situation by issuing a warning with a suggestion
to set environment vars and then ignoring the alignment to 0

Per several issues:

Principally:
fireice-uk#81

Related:
fireice-uk#490
fireice-uk#472
dougvj added a commit to dougvj/xmr-stak that referenced this issue Dec 31, 2017
Occassionally the auto adjust doesn't find enough memory and the
intensity is detected too low and aligned to 0 with the compute units.
This patch fixes this situation by issuing a warning with a suggestion
to set environment vars and then ignoring the alignment to 0

Per several issues:

Principally:
fireice-uk#81

Related:
fireice-uk#490
fireice-uk#472
dougvj added a commit to dougvj/xmr-stak that referenced this issue Dec 31, 2017
Occassionally the auto adjust doesn't find enough memory and the
intensity is detected too low and aligned to 0 with the compute units.
This patch fixes this situation by issuing a warning with a suggestion
to set environment vars and then ignoring the alignment to 0

Per several issues:

Principally:
fireice-uk#81

Related:
fireice-uk#490
fireice-uk#472
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants