Message boards :
Number crunching :
Mali-T628 GPUs
Message board moderation
Author | Message |
---|---|
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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 |
bluestar Send message Joined: 5 Sep 12 Posts: 7031 Credit: 2,084,789 RAC: 3 |
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. |
Jord Send message Joined: 9 Jun 99 Posts: 15184 Credit: 4,362,181 RAC: 3 |
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. |
Kiska Send message Joined: 31 Mar 12 Posts: 302 Credit: 3,067,762 RAC: 0 |
If you really want to, you can write an app_info file that assigns the mali GPU to ask for work |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
The latter are said to support OpenCL 1.2. What CLinfo utility reports? SETI apps news We're not gonna fight them. We're gonna transcend them. |
rob smith Send message Joined: 7 Mar 03 Posts: 22199 Credit: 416,307,556 RAC: 380 |
...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? |
bluestar Send message Joined: 5 Sep 12 Posts: 7031 Credit: 2,084,789 RAC: 3 |
And also the reason why you are not supposed to be "porting" any software into firmware either. |
Kiska Send message Joined: 31 Mar 12 Posts: 302 Credit: 3,067,762 RAC: 0 |
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 |
Kiska Send message Joined: 31 Mar 12 Posts: 302 Credit: 3,067,762 RAC: 0 |
...and without an application written for the Mali GPU those tasks will fail to execute. 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 |
rob smith Send message Joined: 7 Mar 03 Posts: 22199 Credit: 416,307,556 RAC: 380 |
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? |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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. |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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 |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
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. 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. |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
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. |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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? |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
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. |
Langweiler Send message Joined: 24 Feb 17 Posts: 15 Credit: 293,469 RAC: 0 |
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? |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
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. |
©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.