SChernykh / RandomX_OpenCL

RandomX OpenCL implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to run benchmark on older Nvidia 3100m (Integrated) video card

bcheeves opened this issue · comments

Hi,

Thanks for taking the time to read this. I realize that the video card in this notebook PC is rather old in terms of technology. The main issue that I have with this one is that the Nvidia graphics chip was pretty high end, when I got it, but it only supports SM/Compute mode <=1.2. I've tested the card with clinfo, and the drivers look fine. I'm really not sure if this old of card is supported or not, this is more of a test to see what I can do with this old chip, pushing it to the limit, I realize I'm not going to get any decent mining performance out of it. I probaly wouldn't have filed this as an issue, given the age of the card but I haven't seen a compatibility matrix yet, and the release comments seem to indicate that it should work with any GPU that supports openCL

I'm happy to provide more details if needed.

sysinfo.txt

clinfo output:
`>clinfo.exe
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.1 CUDA 6.5.51
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts
Platform Extensions function suffix NV

Platform Name NVIDIA CUDA
Number of devices 1
Device Name NVS 3100M
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.0 CUDA
Driver Version 342.00
Device Type GPU
Device Topology (NV) <printDeviceInfo:22: get CL_DEVICE_PCI_DOMAIN_ID_NV : error -30>
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Max compute units 2
Max clock frequency 1468MHz
Compute Capability (NV) 1.2
Max work item dimensions 3
Max work item sizes 512x512x64
Max work group size 512
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0 (n/a)
float 1 / 1
double 0 / 0 (n/a)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Double-precision Floating-point support (n/a)
Address bits 32, Little-Endian
Global memory size 268435456 (256MiB)
Error Correction support No
Max memory allocation 134217728 (128MiB)
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 2048 bits (256 bytes)
Global Memory cache type None
Image support Yes
Max number of samplers per kernel 16
Max 2D image size 4096x16383 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 8
Local memory type Local
Local memory size 16384 (16KiB)
Registers per block (NV) 16384
Max number of constant args 9
Max constant buffer size 65536 (64KiB)
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 1
Device Extensions cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No platform
clCreateContext(NULL, ...) [default] No platform
clCreateContext(NULL, ...) [other] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform
`
I've tried using the switch "--portable" as well as without, in both cases it results in an error. The --portable' option states that it requires at least SM 1.3 or higher, which is a little more helpful.

ptxas application ptx input, line 3430; error : Instruction 'mul' requires SM 1.3 or higher, or map_f64_to_f32 directive

and the option without "--portable" seems to indicate that it's an issue with the GPU missing this cl_khr_fp64 extension:
`RandomX_OpenCL-windows-x64-v1.1.0>RandomX_OpenCL.exe --mine --validate --platform 0 --device_id 0 --dataset_host --intensity 224
Initializing GPU #0 on OpenCL platform #0

Device name: NVS 3100M
Device vendor: NVIDIA Corporation
Global memory: 256 MB
Local memory: 16 KB
Clock speed: 1468 MHz
Compute units: 2
OpenCL version: OpenCL 1.0 CUDA
Driver version: 342.00
Extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics

Compiling base_kernels.bin...done
Compiling randomx_init.bin...clBuildProgram failed: error -11
:81:1: error: must specify '#pragma OPENCL EXTENSION cl_khr_fp64: enable' before using 'double'
double getSmallPositiveFloatBits(const ulong entropy)
^`

Double-precision Floating-point support (n/a)

Your GPU doesn't support 64-bit floating point, it can't run this RandomX implementation at all.

that makes sense! Thanks for the prompt response. Any tips on an older utility that would work with my legacy GPU? I'm moving to upgrade the laptop soon, but this would be mostly for educational purposes.