wanderine / BROCCOLI

BROCCOLI: Software for Fast fMRI Analysis on Many-Core CPUs and GPUs
GNU General Public License v3.0
115 stars 38 forks source link

RandomiseGroupLevel crashing #51

Closed changken1 closed 6 years ago

changken1 commented 6 years ago

Hi, I am trying to run RandomiseGroupLevel for the first time using CPU and am getting the following error. Do you know how to resolve this? Thank you!

Authored by K.A. Eklund Data size: 197 x 233 x 189 x 976 Number of permutations: 5000 Number of regressors: 4 Number of contrasts: 2 Performing 2 t-tests Two sample t-test design detected for t-contrast 1, 590 subjects in group 1 and 386 subjects in group 2 Two sample t-test design detected for t-contrast 2, 590 subjects in group 1 and 386 subjects in group 2 Max number of permutations for contrast 1 is 7.84211e+282 Max number of permutations for contrast 2 is 7.84211e+282 Unable to write to binary file for kernel kernelConvolution.cpp, null file pointer! Both operands to ICmp instruction are not of the same type! %41 = icmp slt i32 %39, i64 0 Both operands to ICmp instruction are not of the same type! %61 = icmp sgt i64 %53, i32 %40 Invalid operands for select instruction! %62 = select i1 %61, i64 %53, i32 %40 Broken module found, compilation aborted! Stack dump:

  1. Running pass 'Function Pass Manager' on module 'main'.
  2. Running pass 'Module Verifier' on function '@CalculatePhaseGradientsY' Aborted (core dumped)
wanderine commented 6 years ago

Hi,

can you show me the output of

GetOpenCLInfo

Den fre 25 maj 2018 02:49kenny notifications@github.com skrev:

Hi, I am trying to run RandomiseGroupLevel for the first time using CPU and am getting the following error. Do you know how to resolve this? Thank you!

Authored by K.A. Eklund Data size: 197 x 233 x 189 x 976 Number of permutations: 5000 Number of regressors: 4 Number of contrasts: 2 Performing 2 t-tests Two sample t-test design detected for t-contrast 1, 590 subjects in group 1 and 386 subjects in group 2 Two sample t-test design detected for t-contrast 2, 590 subjects in group 1 and 386 subjects in group 2 Max number of permutations for contrast 1 is 7.84211e+282 Max number of permutations for contrast 2 is 7.84211e+282 Unable to write to binary file for kernel kernelConvolution.cpp, null file pointer! Both operands to ICmp instruction are not of the same type! %41 = icmp slt i32 %39, i64 0 Both operands to ICmp instruction are not of the same type! %61 = icmp sgt i64 %53, i32 %40 Invalid operands for select instruction! %62 = select i1 %61, i64 %53, i32 %40 Broken module found, compilation aborted! Stack dump:

  1. Running pass 'Function Pass Manager' on module 'main'.

    1.

    Running pass 'Module Verifier' on function '@CalculatePhaseGradientsY'

Aborted (core dumped)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/wanderine/BROCCOLI/issues/51, or mute the thread https://github.com/notifications/unsubscribe-auth/AEGryOulnr7m2YIp2cZuqv8BOWlHw9J6ks5t11UbgaJpZM4UNNQe .

changken1 commented 6 years ago

Here is the output. I am trying to use platform 1 (CPU) because I run out of memory when I use the GPU (same problem as https://github.com/wanderine/BROCCOLI/issues/42). Thanks!

Device info


Platform number: 0

Platform vendor: NVIDIA Corporation Platform name: NVIDIA CUDA Platform extentions: 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_fp64 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_copy_opts cl_nv_create_buffer Platform profile: FULL_PROFILE


Device number: 0

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64


Device number: 1

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64


Device number: 2

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64


Device number: 3

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64


Platform number: 1

Platform vendor: Intel(R) Corporation Platform name: Intel(R) OpenCL Platform extentions: 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_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 Platform profile: FULL_PROFILE


Device number: 0

Device vendor: Intel(R) Corporation Device name: Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz Hardware version: OpenCL 1.2 (Build 43) Software version: 1.2.0.43 OpenCL C version: OpenCL C 1.2 Device extensions: 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_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 Global memory size in MB: 257848 Size of largest memory object in MB: 64462 Global memory cache size in KB: 256 Local memory size in KB: 32 Constant memory size in KB: 128 Parallel compute units: 56 Clock frequency in MHz: 2300 Max number of threads per block: 8192 Max number of threads in each dimension: 8192 8192 8192

wanderine commented 6 years ago

It seems like the compiler for Intel OpenCL crashes, which Intel OpenCL driver did you install? Which Linux distribution are you using?

2018-05-25 15:04 GMT+02:00 kenny notifications@github.com:

Here is the output. I am trying to use platform 1 (CPU) because I run out of memory when I use the GPU (same problem as #42 https://github.com/wanderine/BROCCOLI/issues/42). Thanks!

Device info

Platform number: 0 Platform vendor: NVIDIA Corporation Platform name: NVIDIA CUDA Platform extentions: 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_fp64 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_copy_opts cl_nv_create_buffer Platform profile: FULL_PROFILE

Device number: 0

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64

Device number: 1

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64

Device number: 2

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64

Device number: 3

Device vendor: NVIDIA Corporation Device name: Tesla K80 Hardware version: OpenCL 1.2 CUDA Software version: 384.111 OpenCL C version: OpenCL C 1.2 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_fp64 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_copy_opts cl_nv_create_buffer Global memory size in MB: 11439 Size of largest memory object in MB: 2859 Global memory cache size in KB: 208 Local memory size in KB: 48 Constant memory size in KB: 64 Parallel compute units: 13 Clock frequency in MHz: 823 Max number of threads per block: 1024 Max number of threads in each dimension: 1024 1024 64

Platform number: 1 Platform vendor: Intel(R) Corporation Platform name: Intel(R) OpenCL Platform extentions: 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_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 Platform profile: FULL_PROFILE

Device number: 0

Device vendor: Intel(R) Corporation Device name: Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz Hardware version: OpenCL 1.2 (Build 43) Software version: 1.2.0.43 OpenCL C version: OpenCL C 1.2 Device extensions: 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_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 Global memory size in MB: 257848 Size of largest memory object in MB: 64462 Global memory cache size in KB: 256 Local memory size in KB: 32 Constant memory size in KB: 128 Parallel compute units: 56 Clock frequency in MHz: 2300 Max number of threads per block: 8192 Max number of threads in each dimension: 8192 8192 8192

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/wanderine/BROCCOLI/issues/51#issuecomment-392051454, or mute the thread https://github.com/notifications/unsubscribe-auth/AEGryLKx777iX6TP8-y-MTctm3b9UA-pks5t2AFbgaJpZM4UNNQe .

-- Anders Eklund, PhD

changken1 commented 6 years ago

I installed OpenCL on Ubuntu 14.04 using these instructions: http://yuleiming.com/install-intel-opencl-on-ubuntu-14-04/

I might try to install Ubuntu 16.04 in a docker and install OpenCL from there.

I have a different question - for the "volumes_perm_pvalues.nii" of the Randomise function, are the p-values in the nifti file the p-values or are they 1 - p-value? I only ask because the background values are all 0. Want to double check.

Thank you!

Best, Ken

wanderine commented 6 years ago

Yes the p-values are 1 - p, to mimic how randomise works in FSL.

2018-05-29 23:38 GMT+02:00 kenny notifications@github.com:

I installed OpenCL on Ubuntu 14.04 using these instructions: http://yuleiming.com/install-intel-opencl-on-ubuntu-14-04/

I might try to install ubuntu 16.04 in a docker and install OpenCL from there.

I have a different question - for the "volumes_perm_pvalues.nii" of the Randomise function, are the p-values in the nifti file the p-values or are they 1 - p-value? I only ask because the background values are all 0. Want to double check.

Thank you!

Best, Ken

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/wanderine/BROCCOLI/issues/51#issuecomment-392954418, or mute the thread https://github.com/notifications/unsubscribe-auth/AEGryGLexfI2VjieLD_9UmrSBHH-Du5iks5t3b_ggaJpZM4UNNQe .

-- Anders Eklund, PhD