Mali-T628 GPUs

Message boards : Number crunching : Mali-T628 GPUs
Message board moderation

To post messages, you must log in.

AuthorMessage
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1926594 - Posted: 25 Mar 2018, 19:30:41 UTC

I am currently playing with an Odroid XU4 single board computer. Besides its 8 core the chip is equipped with two Mali-T628 GPUs. The latter are said to support OpenCL 1.2.
I am running Seti@Home v8 under Ubuntu. Works like a charm. Even the Mali GPUs are detected. Boinc requests tasks for the GPUs, but no tasks are assigned.
Now my question: Is that due to misconfiguration of my system? Or are Mali-T628 GPUs simply not supported by Seti@Home?

Cheers,

Langweiler
ID: 1926594 · Report as offensive
bluestar

Send message
Joined: 5 Sep 12
Posts: 6995
Credit: 2,084,789
RAC: 3
Message 1926598 - Posted: 25 Mar 2018, 19:43:58 UTC
Last modified: 25 Mar 2018, 19:47:23 UTC

If NNT (no new tasks) for some reason is set, the Manager apparently still requests new tasks, except for not getting any.

So this is not the reason here, because if this is only about the GPU, and not the CPU, it is because the Preferences may have been set to only accept CPU tasks.

Check with the local Preferences on the server under your account for this, and next the possible general explanation only.
ID: 1926598 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 1926599 - Posted: 25 Mar 2018, 20:06:15 UTC - in response to Message 1926594.  

Only Nvidia, AMD and Intel GPUs have science applications, no other GPU does.

So it works as it's supposed to, ask for work for your Mali GPU, as who knows, perhaps in the near future it will become supported.
ID: 1926599 · Report as offensive
Kiska
Volunteer tester

Send message
Joined: 31 Mar 12
Posts: 302
Credit: 3,067,762
RAC: 0
Australia
Message 1926707 - Posted: 26 Mar 2018, 12:20:34 UTC

If you really want to, you can write an app_info file that assigns the mali GPU to ask for work
ID: 1926707 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1926734 - Posted: 26 Mar 2018, 14:21:50 UTC - in response to Message 1926594.  

The latter are said to support OpenCL 1.2.
Langweiler


What CLinfo utility reports?
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1926734 · Report as offensive
rob smith Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer moderator
Volunteer tester

Send message
Joined: 7 Mar 03
Posts: 22160
Credit: 416,307,556
RAC: 380
United Kingdom
Message 1926735 - Posted: 26 Mar 2018, 14:25:30 UTC - in response to Message 1926707.  

...and without an application written for the Mali GPU those tasks will fail to execute.
(Writing an app_info.xml is NOT the same as writing, or compiling, an application for a particular type of processor)
Bob Smith
Member of Seti PIPPS (Pluto is a Planet Protest Society)
Somewhere in the (un)known Universe?
ID: 1926735 · Report as offensive
bluestar

Send message
Joined: 5 Sep 12
Posts: 6995
Credit: 2,084,789
RAC: 3
Message 1926736 - Posted: 26 Mar 2018, 14:30:36 UTC

And also the reason why you are not supposed to be "porting" any software into firmware either.
ID: 1926736 · Report as offensive
Kiska
Volunteer tester

Send message
Joined: 31 Mar 12
Posts: 302
Credit: 3,067,762
RAC: 0
Australia
Message 1926740 - Posted: 26 Mar 2018, 15:07:00 UTC
Last modified: 26 Mar 2018, 15:07:39 UTC

Here is what it says for my Mali g71
OpenCL-Z-Android Report
========================
Version: 1.0.2
Release date: April 2015
Author: Robert Wang
Email: robertwgh@gmail.com
Official website: http://web.guohuiwang.com/software/opencl_z_android

Phone/Tablet Information
--------------------------------
Device model: Samsung SM-G955F
Android OS version: 7.0
Kernel version: 4.4.13-12401979, Thu Oct. 26 15:38:38 2017
Build number: NRD90M.G955FXXU1AQJ5
CPU ABI: arm64-v8a
CPU ABI 2: armeabi-v7a
OpenCL library location: /system/vendor/lib/libOpenCL.so

OpenCL Information
-------------------------
Found 1 OpenCL platforms.
[Platform] INDEX: 1
[Platform] NAME: ARM Platform
[Platform] VENDOR: ARM
[Platform] PROFILE: FULL_PROFILE
[Platform] VERSION: OpenCL 1.2 v1.r3p0-00rel0.dce8ca6a85819d8495118734e2e3ccc6
[Platform] 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_byte_addressable_store;cl_khr_3d_image_writes;cl_khr_int64_base_atomics;cl_khr_int64_extended_atomics;cl_khr_fp16;cl_khr_gl_sharing;cl_khr_icd;cl_khr_egl_event;cl_khr_egl_image;cl_khr_image2d_from_buffer;cl_arm_core_id;cl_arm_printf;cl_arm_thread_limit_hint;cl_arm_non_uniform_work_group_size;cl_arm_import_memory;cl_arm_shared_virtual_memory


Found 1 devices:
	[Device] INDEX: 1
	[Device] TYPE: GPU
	[Device] NAME: Mali-G71
	[Device] VENDOR: ARM
	[Device] VENDOR_ID: 0x60A00001
	[Device] DRIVER_VERSION: 1.2
	[Device] PROFILE: FULL_PROFILE
	[Device] VERSION: OpenCL 1.2 v1.r3p0-00rel0.dce8ca6a85819d8495118734e2e3ccc6
	[Device] MAX_CLOCK_FREQUENCY: 5 MHz
	[Device] MAX_COMPUTE_UNITS: 20
	[Device] AVAILABLE: true
	[Device] COMPILER_AVAILABLE: true
	[Device] 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_byte_addressable_store;cl_khr_3d_image_writes;cl_khr_int64_base_atomics;cl_khr_int64_extended_atomics;cl_khr_fp16;cl_khr_gl_sharing;cl_khr_icd;cl_khr_egl_event;cl_khr_egl_image;cl_khr_image2d_from_buffer;cl_arm_core_id;cl_arm_printf;cl_arm_thread_limit_hint;cl_arm_non_uniform_work_group_size;cl_arm_import_memory;cl_arm_shared_virtual_memory
	[Device] MAX_WORK_ITEM_DIMENSIONS: 3
	[Device] MAX_WORK_ITEM_SIZES: (256, 256, 256)
	[Device] MAX_WORK_GROUP_SIZE: 256
	[Device] ADDRESS_BITS: 32
	[Device] MAX_READ_IMAGE_ARGS: 128
	[Device] MAX_WRITE_IMAGE_ARGS: 8
	[Device] MAX_MEM_ALLOC_SIZE: 536870912
	[Device] IMAGE2D_MAX_WIDTH: 65536
	[Device] IMAGE2D_MAX_HEIGHT: 65536
	[Device] IMAGE3D_MAX_WIDTH: 65536
	[Device] IMAGE3D_MAX_HEIGHT: 65536
	[Device] IMAGE3D_MAX_DEPTH: 65536
	[Device] IMAGE_SUPPORT: true
	[Device] MAX_PARAMETER_SIZE: 1024
	[Device] MAX_SAMPLERS: 16
	[Device] MEM_BASE_ADDR_ALIGN: 1024
	[Device] MIN_DATA_TYPE_ALIGN_SIZE: 128
	[Device] SINGLE_FP_CONFIG: CL_FP_DENORM;CL_FP_INF_NAN;CL_FP_ROUND_TO_NEAREST;CL_FP_ROUND_TO_ZERO;CL_FP_ROUND_TO_INF;CL_FP_FMA;
	[Device] HOST_UNIFIED_MEMORY: Unified
	[Device] GLOBAL_MEM_CACHE_TYPE: read/write cache
	[Device] GLOBAL_MEM_CACHELINE_SIZE: 64
	[Device] GLOBAL_MEM_CACHE_SIZE: 524288
	[Device] GLOBAL_MEM_SIZE: 2147483648
	[Device] MAX_CONSTANT_BUFFER_SIZE: 65536
	[Device] MAX_CONSTANT_ARGS: 8
	[Device] LOCAL_MEM_TYPE: global
	[Device] LOCAL_MEM_SIZE: 32768
	[Device] ERROR_CORRECTION_SUPPORT: false
	[Device] PROFILING_TIMER_RESOLUTION: 1000 nanoseconds
	[Device] ENDIAN_LITTLE: true
	[Device] EXECUTION_CAPABILITIES: CL_EXEC_KERNEL;
	[Device] QUEUE_PROPERTIES: CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE;CL_QUEUE_PROFILING_ENABLE;
	[Device] PREFERRED_VECTOR_WIDTH_CHAR: 16
	[Device] PREFERRED_VECTOR_WIDTH_SHORT: 8
	[Device] PREFERRED_VECTOR_WIDTH_INT: 4
	[Device] PREFERRED_VECTOR_WIDTH_LONG: 2
	[Device] PREFERRED_VECTOR_WIDTH_FLOAT: 4
	[Device] PREFERRED_VECTOR_WIDTH_DOUBLE: 0
	[Device] PREFERRED_VECTOR_WIDTH_HALF: 8
	[Device] NATIVE_VECTOR_WIDTH_CHAR: 16
	[Device] NATIVE_VECTOR_WIDTH_SHORT: 8
	[Device] NATIVE_VECTOR_WIDTH_INT: 4
	[Device] NATIVE_VECTOR_WIDTH_LONG: 2
	[Device] NATIVE_VECTOR_WIDTH_FLOAT: 4
	[Device] NATIVE_VECTOR_WIDTH_DOUBLE: 0
	[Device] NATIVE_VECTOR_WIDTH_HALF: 8
ID: 1926740 · Report as offensive
Kiska
Volunteer tester

Send message
Joined: 31 Mar 12
Posts: 302
Credit: 3,067,762
RAC: 0
Australia
Message 1926741 - Posted: 26 Mar 2018, 15:10:38 UTC - in response to Message 1926735.  

...and without an application written for the Mali GPU those tasks will fail to execute.
(Writing an app_info.xml is NOT the same as writing, or compiling, an application for a particular type of processor)


See the thing with OpenCL is supposed to be its heterogeneous nature, being that written for one type, it should run on any other type with support for the OpenCL API

Eg. Raistmer Nvidia SoG app should run on AMD GPUs, and should also run on Intel iGPU without modification. Which should in turn run on ARM based Mali iGPUs
ID: 1926741 · Report as offensive
rob smith Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer moderator
Volunteer tester

Send message
Joined: 7 Mar 03
Posts: 22160
Credit: 416,307,556
RAC: 380
United Kingdom
Message 1926750 - Posted: 26 Mar 2018, 16:51:23 UTC

The key word is "should", but remember, the API has to be incorporated into the calling application, which means someone has to build an test an appropriate application for the Mali GPU. And, as Jord has already explained such an application has not bee produced and tested yet for the Mai GPU running as part of an ARM based system.
Bob Smith
Member of Seti PIPPS (Pluto is a Planet Protest Society)
Somewhere in the (un)known Universe?
ID: 1926750 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1926827 - Posted: 27 Mar 2018, 5:48:25 UTC - in response to Message 1926734.  
Last modified: 27 Mar 2018, 5:49:08 UTC

See below. That was actually a good hint. Mesa OpenCL implementation does not seem to recognize the Mali-T628 GPU devices. Mali OpenCL support is provided by the package mali-fbdev, which I have installed and which provides following libraries:

libGLESv2.so
libGLESv1_CM.so
libOpenCL.so

I guess I now need to make Mesa aware of the mali libraries. Will do some research in the coming days. Any hints welcome.

--
Number of platforms 1
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 17.2.8
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA

Platform Name Clover
Number of devices 0

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Clover
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Clover
clCreateContext(NULL, ...) [default] No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No devices found in platform

ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
ID: 1926827 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1926829 - Posted: 27 Mar 2018, 6:04:04 UTC - in response to Message 1926750.  

Dear Rob, dear Jord,

Thanks for clarifying. Could it be as simple as recompiling the Seti@Home application with the Mali OpenCL development headers and libraries in place after minor modifications of the source code and makefiles? I assume Seti@Home does already use OpenCL to program GPUs?

Who in the project would I have to approach regarding Mali GPU support?

Unfortunately I am not a developer. Implementating support for the Mali GPUs is beyond my skills. What I can offer is to test code and provide documentation. I would also be willing to sponsor an Odroid XU4 or similar device if someone sufficiently knowledgeble is keen to add Mali GPU support to Seti@Home.

Cheers,

Bernd
ID: 1926829 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1926845 - Posted: 27 Mar 2018, 9:44:42 UTC - in response to Message 1926829.  
Last modified: 27 Mar 2018, 9:55:46 UTC

What I can offer is to test code and provide documentation. I would also be willing to sponsor an Odroid XU4 or similar device if someone sufficiently knowledgeble is keen to add Mali GPU support to Seti@Home.

Cheers,

Bernd


That's good too.
Get in touch with Urs Echternacht (http://setiathome.berkeley.edu/show_user.php?userid=7638) as he is most appropriate person for OpenCL+Linux/Android combos.
If you are able to build executables for your device by yourself (provided you have sources to build from) we could try to test my OpenCL code compatibility with Mali together.

Some modifications will be needed cause at startup there is a check for particular vendor (OpenCL portability just as any other portability is a myth - if one want to get properly and fast working app at least).
So new vendor should be added. Urs working in that direction (and AFAIK MESA driver currently produce invalid results). So I would rather be oriented on some another OpenCL stack if available.
Posted CLinfo in this thread (by Kiska) looks OK at first glance. Device w/o local memory but there is old code path that can handle such devices too.
Local memory oriented path will suffer performance-wise but should work too.

P.S. codebase for OpenCL app lives here: https://setisvn.ssl.berkeley.edu/trac/browser/branches/sah_v7_opt
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1926845 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1927108 - Posted: 29 Mar 2018, 15:34:36 UTC - in response to Message 1926827.  

I have been able to fix the problem. All I had to do was to add the file
/etc/OpenCL/vendors/mali.icd
with the single line
/usr/lib/arm-linux-gnueabihf/mali-egl/libOpenCL.so
referring the OpenCL implementation for Mali GPUs.
$ clinfo
now returns the following output:

Number of platforms 2
Platform Name ARM Platform
Platform Vendor ARM
Platform Version OpenCL 1.2 v1.r12p0-04rel0.03af15950392f3702b248717f4938b82
Platform Profile FULL_PROFILE
Platform 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_gl_sharing cl_khr_icd cl_khr_egl_event cl_khr_egl_image cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory
Platform Extensions function suffix ARM

Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 17.2.8
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA

Platform Name ARM Platform
Number of devices 2
Device Name Mali-T628
Device Vendor ARM
Device Vendor ID 0x6200010
Device Version OpenCL 1.2 v1.r12p0-04rel0.03af15950392f3702b248717f4938b82
Driver Version 1.2
Device OpenCL C Version OpenCL C 1.2 v1.r12p0-04rel0.03af15950392f3702b248717f4938b82
Device Type GPU
Device Profile FULL_PROFILE
Max compute units 4
Max clock frequency 600MHz
Device Partition (core)
Max number of sub-devices 0
Supported partition types None
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Preferred work group size multiple 4
Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 2 / 2
half 8 / 8 (cl_khr_fp16)
float 4 / 4
double 2 / 2 (cl_khr_fp64)
Half-precision Floating-point support (cl_khr_fp16)
Denormals Yes
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
Single-precision Floating-point support (core)
Denormals Yes
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 (cl_khr_fp64)
Denormals Yes
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
Address bits 64, Little-Endian
Global memory size 2090397696 (1.947GiB)
Error Correction support No
Max memory allocation 522599424 (498.4MiB)
Unified memory for Host and Device Yes
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Global Memory cache type Read/Write
Global Memory cache size <printDeviceInfo:89: get CL_DEVICE_GLOBAL_MEM_CACHE_SIZE : error -30>
Global Memory cache line 64 bytes
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 65536 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 65536x65536 pixels
Max 3D image size 65536x65536x65536 pixels
Max number of read image args 128
Max number of write image args 8
Local memory type Global
Local memory size 32768 (32KiB)
Max constant buffer size 65536 (64KiB)
Max number of constant args 8
Max size of kernel argument 1024
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_gl_sharing cl_khr_icd cl_khr_egl_event cl_khr_egl_image cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory

Device Name Mali-T628
Device Vendor ARM
Device Vendor ID 0x6200010
Device Version OpenCL 1.2 v1.r12p0-04rel0.03af15950392f3702b248717f4938b82
Driver Version 1.2
Device OpenCL C Version OpenCL C 1.2 v1.r12p0-04rel0.03af15950392f3702b248717f4938b82
Device Type GPU
Device Profile FULL_PROFILE
Max compute units 2
Max clock frequency 600MHz
Device Partition (core)
Max number of sub-devices 0
Supported partition types None
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
Preferred work group size multiple 4
Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 2 / 2
half 8 / 8 (cl_khr_fp16)
float 4 / 4
double 2 / 2 (cl_khr_fp64)
Half-precision Floating-point support (cl_khr_fp16)
Denormals Yes
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
Single-precision Floating-point support (core)
Denormals Yes
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 (cl_khr_fp64)
Denormals Yes
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
Address bits 64, Little-Endian
Global memory size 2090397696 (1.947GiB)
Error Correction support No
Max memory allocation 522599424 (498.4MiB)
Unified memory for Host and Device Yes
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Global Memory cache type Read/Write
Global Memory cache size <printDeviceInfo:89: get CL_DEVICE_GLOBAL_MEM_CACHE_SIZE : error -30>
Global Memory cache line 64 bytes
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 65536 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 65536x65536 pixels
Max 3D image size 65536x65536x65536 pixels
Max number of read image args 128
Max number of write image args 8
Local memory type Global
Local memory size 32768 (32KiB)
Max constant buffer size 65536 (64KiB)
Max number of constant args 8
Max size of kernel argument 1024
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
printf() buffer size 1048576 (1024KiB)
Built-in kernels
Device Available Yes
Compiler Available Yes
Linker Available Yes
Device 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_fp64 cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_gl_sharing cl_khr_icd cl_khr_egl_event cl_khr_egl_image cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory

Platform Name Clover
Number of devices 0

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) ARM Platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [ARM]
clCreateContext(NULL, ...) [default] Success [ARM]
clCreateContext(NULL, ...) [other] <error: no devices in non-default plaforms>
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (2)
Platform Name ARM Platform
Device Name Mali-T628
Device Name Mali-T628
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (2)
Platform Name ARM Platform
Device Name Mali-T628
Device Name Mali-T628

ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.8
ICD loader Profile OpenCL 1.2
NOTE: your OpenCL library declares to support OpenCL 1.2,
but it seems to support up to OpenCL 2.1 too.
ID: 1927108 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1927113 - Posted: 29 Mar 2018, 16:14:34 UTC - in response to Message 1927108.  
Last modified: 29 Mar 2018, 16:15:01 UTC

So, do you able to build ARM binary from OpenCL codebase (https://setisvn.ssl.berkeley.edu/trac/browser/branches/sah_v7_opt)
If you can try to get binary with same defines as in https://setisvn.ssl.berkeley.edu/trac/browser/branches/sah_v7_opt/AKv8/ConfigureLinux_AKv8d_OPENCL_MBv8.txt
put binary, workunit.sah, init_data.xml into same dir and try to run.
What stderr.txt contains?
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1927113 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1927143 - Posted: 29 Mar 2018, 20:14:49 UTC - in response to Message 1927113.  

Not yet. I am still stuck in the configuration process.

$ ./configure --disable-server --disable-graphics --disable-shared --enable-bitness=64 --enable-client --enable-static-client --enable-dependency-tracking --enable-static --enable-intrinsics --enable-sse42 --enable-comoptions --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --with-boinc-platform=x86_64-pc-linux-gnu --with-ssl="/usr/local/ssl/lib" CXXFLAGS=" -I/usr/local/share/beignet/include -I./client -I./../src" CPPFLAGS=" -DUSE_I386_OPTIMIZATIONS -DUSE_I386_XEON -DUSE_FFTW -DUSE_OPENCL -DOCL_ZERO_COPY -DUSE_OPENCL_INTEL -DASYNC_SPIKE -DSETI7 -DSETI8 -DOCL_CHIRP3 -D_GLIBCXX_USE_CXX11_ABI=0 -DUSE_SSE42" LDSTATIC=" /usr/local/ssl/lib/libssl.a /usr/local/ssl/lib/libcrypto.a" LDFLAGS=" -L/usr/lib64 -ldl -lm -lz -static-libgcc -static-libstdc++" BOINCDIR="/usr/share/boinc-dev/"

returns the following error:

config.status: creating jpeglib/Makefile
config.status: error: cannot find input file: jpeglib/Makefile.in

I noticed that jpeglib did not exist in the original checkout, but the directory was created and is empty. I have checked out the content from the main branch into the directory. I still get the same error since the file Makefile.in does not exist. Not sure what to do.

I also suspect that the host, target, build and boinc-platform parameters are not set corectly since I am compiling for arm platform and not x86_64. What would be the appropriate settings?
ID: 1927143 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1927149 - Posted: 29 Mar 2018, 20:51:32 UTC - in response to Message 1927143.  

When I add the option --with-my-libjpeg the problem seems to disappear. Instead I am getting a new error message:

checking for long int... yes
checking size of long int... configure: error: cannot compute sizeof (long int), 77
See `config.log' for more details.

Unfortunately config.log is not very conclusive. Below the last lines of the file:

#ifdef __cplusplus
extern "C" void exit (int) throw ();

configure: exit 1

Not sure what is causing the problem. I guess there is something wrong with the compiler options.
Stopping for today. Maybe someone has an idea what is going on and can give me a hint.
ID: 1927149 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1927185 - Posted: 29 Mar 2018, 23:23:47 UTC - in response to Message 1927149.  

Well, besides to get in touch with Urs I would recommend to use comparison approach.
Checkout stock codebase and attempt to build CPU ARM app from it. If success there will be some ground for comparison what is wrong with opt codebase config.
So far I did ARM build from stock codebase (on Parallella) but never tried with opt one (and OpenCL based on optimized codebase).
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1927185 · Report as offensive
Langweiler

Send message
Joined: 24 Feb 17
Posts: 15
Credit: 293,469
RAC: 0
Germany
Message 1927559 - Posted: 31 Mar 2018, 19:59:19 UTC - in response to Message 1927185.  

I have almost succeeded in building sah from stock base. I have checked out the latest version of the source code using svn followed by
$ _autosetup
$ ./configure CFLAGS="-O3" CXXFLAGS="-O3" BOINCDIR=/var/lib/boinc-client --enable-client --enable-static --disable-shared --disable-server --enable-fast-math
$ make -j 8

Building the application fails when linking seti libraries:

/usr/bin/ld: cannot find -lboinc_api
/usr/bin/ld: cannot find -lboinc
collect2: error: ld returned 1 exit status
Makefile:656: recipe for target 'seti_boinc' failed
make[2]: *** [seti_boinc] Error 1
make[2]: Leaving directory '/home/langweiler/src/seti_boinc
Makefile:546: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/langweiler/src/seti_boinc
Makefile:466: recipe for target 'all' failed
make: *** [all] Error 2

It seems that libboinc.a and libboinc_api.a are missing despite the fact that I installed the boinc-dev package.
I have tried to contact Urs. He has not replied yet. Is there any active mailing list for developers?
ID: 1927559 · Report as offensive
Profile Raistmer
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 16 Jun 01
Posts: 6325
Credit: 106,370,077
RAC: 121
Russia
Message 1927675 - Posted: 1 Apr 2018, 12:14:55 UTC - in response to Message 1927559.  
Last modified: 1 Apr 2018, 12:16:57 UTC


It seems that libboinc.a and libboinc_api.a are missing despite the fact that I installed the boinc-dev package.
I have tried to contact Urs. He has not replied yet. Is there any active mailing list for developers?


1) I never attempted to use any boinc dev pack.
The way to go usually is just to download BOINc sources (http://boinc.berkeley.edu/trac/wiki/SourceCodeGit) , place them:
/src/boinc
/src/seti_boinc
and attempt to build SETI against them.

2) Yes, there is dev list:
boinc_opt@ssl.berkeley.edu
https://setiathome.berkeley.edu/sah_porting.php
https://lists.ssl.berkeley.edu/mailman/listinfo/boinc_opt
But I would not say it's too active. Could help if you ask there though.
SETI apps news
We're not gonna fight them. We're gonna transcend them.
ID: 1927675 · Report as offensive

Message boards : Number crunching : Mali-T628 GPUs


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.