Giter VIP home page Giter VIP logo

Comments (5)

ChenxiSSS avatar ChenxiSSS commented on August 19, 2024 1

Hi Team,

We are happy to confirm that the build 2.8.0-dev16 works fine on the M1 soc, as we tested it successfully both on a 7-core M1 Macbook Air and an 8-core Mac Mini.

However, the speed is not as fast as we expected. Using our standard simulation test, the M1 is only 61% faster than an Intel Iris Pro Graphics 6200 on an iMac which we use as a baseline to evaluate simulation speeds.

Here is the speed comparison:

Server Computation Time Write Time Speed GPU Model VRAM No. of SP Base/Boost Freq
MacMini 9433.194 s 4.430 s 1.607 Apple M1 16 GB LPDDR4X 8? 3200 MHz
iMac 21.5 15163.754 s 7.508 s 1.000 Intel Iris Pro Graphics 6200 1536 MB 384 300/1100 MHz

from oskar.

sjtuzyk avatar sjtuzyk commented on August 19, 2024

UNSUPPORTED (log once): buildComputeProgram: cl2Metal failed
clBuildProgram error (code -11):

Compilation failed:

program_source:3092:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_point_, float), false, false, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3092:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_point_, float), false, false, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3092:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3092:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3093:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_point_bs_, float), true, false, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3093:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_point_bs_, float), true, false, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3093:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3093:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3094:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_point_ts_, float), false, true, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3094:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_point_ts_, float), false, true, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3094:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3094:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3095:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_point_bs_ts_, float), true, true, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3095:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_point_bs_ts_, float), true, true, false, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3095:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3095:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3096:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_, float), false, false, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3096:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_, float), false, false, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3096:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3096:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3097:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_bs_, float), true, false, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3097:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_bs_, float), true, false, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3097:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3097:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3098:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_ts_, float), false, true, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3098:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_ts_, float), false, true, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3098:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3098:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3099:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_bs_ts_, float), true, true, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:455:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3099:1: note: uninitialized use occurs here
OSKAR_XCORR_GPU( M_CAT(xcorr_gaussian_bs_ts_, float), true, true, true, float, float2, float4c)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:463:9: note: expanded from macro 'OSKAR_XCORR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3099:1: note: remove the 'if' if its condition is always true
program_source:455:5: note: expanded from macro 'OSKAR_XCORR_GPU'
if (tid == 0) {
^
program_source:3099:1: note: variable 'uv_len' is declared here
program_source:451:5: note: expanded from macro 'OSKAR_XCORR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3100:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_, float), false, false, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3100:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_, float), false, false, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3100:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3100:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3101:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_bs_, float), true, false, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3101:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_bs_, float), true, false, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3101:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3101:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3102:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_ts_, float), false, true, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3102:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_ts_, float), false, true, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3102:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3102:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3103:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_bs_ts_, float), true, true, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3103:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_point_bs_ts_, float), true, true, false, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3103:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3103:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3104:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_, float), false, false, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3104:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_, float), false, false, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3104:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3104:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3105:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_bs_, float), true, false, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3105:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_bs_, float), true, false, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3105:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3105:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3106:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_ts_, float), false, true, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3106:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_ts_, float), false, true, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3106:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3106:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3107:1: warning: variable 'uv_len' is used uninitialized whenever 'if' condition is false
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_bs_ts_, float), true, true, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:526:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^~~~~~~~
program_source:3107:1: note: uninitialized use occurs here
OSKAR_XCORR_SCALAR_GPU( M_CAT(xcorr_scalar_gaussian_bs_ts_, float), true, true, true, float, float2)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
program_source:534:9: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (uv_len < uv_min_lambda || uv_len > uv_max_lambda) return;
^~~~~~
program_source:3107:1: note: remove the 'if' if its condition is always true
program_source:526:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
if (tid == 0) {
^
program_source:3107:1: note: variable 'uv_len' is declared here
program_source:522:5: note: expanded from macro 'OSKAR_XCORR_SCALAR_GPU'
LOCAL FP uv_len, uu, vv, ww, uu2, vv2, uuvv, du, dv, dw;
^
program_source:2982:15: note: expanded from macro 'LOCAL'
#define LOCAL local
^
program_source:3120:1: error: variables in the local address space can only be declared in the outermost scope of a kernel function
OSKAR_GRID_TILE_GRID_WPROJ_GPU( M_CAT(grid_tile_grid_wproj_, float), float, float2)
^
program_source:876:23: note: expanded from macro 'OSKAR_GRID_TILE_GRID_WPROJ_GPU'
WARP_DECL(int i_vis);
^
program_source:3121:1: error: variables in the local address space can only be declared in the outermost scope of a kernel function
OSKAR_GRID_TILE_GRID_SIMPLE_GPU( M_CAT(grid_tile_grid_simple_, float), float, float2)
^
program_source:759:23: note: expanded from macro 'OSKAR_GRID_TILE_GRID_SIMPLE_GPU'
WARP_DECL(int i_vis);
^

E|
E|== ERROR: clBuildProgram error (-11).
E|
|
=|== OSKAR-2.7.6 starting at 2021-10-10, 14:41:51 (CST).
|
| + Current dir is /Users/zhuyongkai/scidata/oskar-test
| + Logging to file oskar_2021-10-10_144151.log
|
=|== Loaded settings file 'oskar.ini'
|
| + Simulator settings
| - Use double precision : false
| - Use GPUs : true
| - CUDA device IDs to use
| - Number of compute devices : auto
| - Max. number of sources per chunk : 6384
| + Sky model settings
| - OSKAR sky model file settings
| * OSKAR sky model file(s): skymodel/201911202136_ptrs2000fov1img1800Tbmin0-min10_158.00.osm
| + Observation settings
| - Phase centre RA [deg] : 0.0
| - Phase centre Dec [deg] : -27.0
| - Start frequency [Hz] : 158000000.0
| - Number of frequency channels : 1
| - Frequency increment [Hz] : 1.0
| - Start time (UTC) : 2000-01-01T06:30:00.0
| - Observation length [sec, or hh:mm:ss]: 21600.0
| - Number of time steps : 72
| + Telescope model settings
| - Input directory : telescope_model/ska1low.tm
| - Normalise beams at phase centre : true
| - Allow station beam duplication : false
| - Polarisation mode : Scalar
| - Station type : Aperture array
| + Interferometer settings
| - Channel bandwidth [Hz] : 80000.0
| - Time average [sec] : 300.0
| - Max. time samples per block : 8
| - Correlation type : Cross-correlations
| - Output OSKAR visibility file
| - Output Measurement Set : visibility/test.ms
| - Force polarised Measurement Set : false
|
=|== Sky model set-up
|
| + Loading OSKAR sky model file 'skymodel/201911202136_ptrs2000fov1img1800Tbmin0-min10_158.00.osm' ...
| - done.
|
=|== Sky model summary
|
| + Num. sources : 8567
| + Num. chunks : 2
|
=|== Telescope model summary
|
| + Longitude [deg] : 116.764
| + Latitude [deg] : -26.825
| + Altitude [m] : 0
| + Num. stations : 512
| + Max station size : 256
| + Max station depth : 1
| + Identical stations : false
E|
E|== ERROR: clEnqueueFillBuffer() error (-36)
E|
E|
E|== ERROR: Run failed with code -3: invalid function argument.
E|
|
=|== OSKAR-2.7.6 ending at 2021-10-10, 14:41:52 (CST).
|

from oskar.

fdulwich avatar fdulwich commented on August 19, 2024

Hi, thanks for the report! Unfortunately we have no access to M1 hardware, so we do not expect to be able to support it, but I'll try to make a speculative fix based on the error.

from oskar.

fdulwich avatar fdulwich commented on August 19, 2024

I've now pushed a change to the master branch that may fix this. If you're comfortable building from source and have the chance to test the current Git master, please give it a try again and let us know how it goes.

from oskar.

ChenxiSSS avatar ChenxiSSS commented on August 19, 2024

Hi, thank you for the fix. We will test the build and get back with updates.

from oskar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.