streamlit run main.py 以后问答回复报错 #736
Replies: 1 comment
-
这个是你环境的问题,跟代码没有关系,确保你是用了符合要求的环境 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
求问这个问题怎么解决
RuntimeError: Failed to create indexing library, error: Error Domain=MTLLibraryErrorDomain Code=3 "program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:160:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :9:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:162:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :17:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:164:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :25:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:166:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :33:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:160:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :41:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:162:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :49:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:164:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :57:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:166:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :65:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:203:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:203:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:203:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :73:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:205:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:205:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:205:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :81:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:207:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:207:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:207:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :89:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:209:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:209:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:209:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :97:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:242:17: error: type 'device ulong3 *' is not valid for attribute 'buffer' device ulong3 * data_offsets [[buffer(1)]], ^ ~~~~~~~~~ program_source:242:24: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type device ulong3 * data_offsets [[buffer(1)]], ^ program_source:240:13: error: explicit instantiation of 'kernel_index_offsets' does not refer to a function template, variable template, member function, member class, or static data member kernel void kernel_index_offsets<packed_uint3, ulong3>( ^ program_source:214:13: note: candidate template ignored: substitution failure [with StridesT = unsigned int attribute((packed_vector_type(3))), DataT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long device * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void kernel_index_offsets(constant StridesT * strides [[buffer(0)]], ^ program_source:351:5: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' constant ulong3 * offsets [[buffer(3)]], ^ ~~~~~~~~~ program_source:351:14: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type constant ulong3 * offsets [[buffer(3)]], ^ program_source:343:13: error: explicit instantiation of 'atomic_index_put_accumulate' does not refer to a function template, variable template, member function, member class, or static data member kernel void atomic_index_put_accumulate<float, ulong3>( ^ program_source:292:13: note: candidate template ignored: substitution failure [with T = float, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void atomic_index_put_accumulate( ^ program_source:383:5: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' constant ulong3 * offsets [[buffer(3)]], ^ ~~~~~~~~~ program_source:383:14: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type constant ulong3 * offsets [[buffer(3)]], ^ program_source:375:13: error: explicit instantiation of 'index_put_accumulate_native_dtypes' does not refer to a function template, variable template, member function, member class, or static data member kernel void index_put_accumulate_native_dtypes<atomic_int, int, ulong3>( ^ program_source:248:13: note: candidate template ignored: substitution failure [with T = metal::atomic, E = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_accumulate_native_dtypes( ^ " UserInfo={NSLocalizedDescription=program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:160:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :9:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:162:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :17:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:164:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :25:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:168:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(select); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:168:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:166:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:168:1: error: explicit instantiation of 'index_select' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(select); ^ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :33:1: note: expanded from here index_select ^ program_source:20:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_select( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:160:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:160:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :41:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:162:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:162:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :49:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:164:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:164:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :57:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:169:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_INDEX_OP_ALL_DTYPES(put); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:138:5: note: expanded from macro 'REGISTER_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:169:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:166:59: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:169:1: error: explicit instantiation of 'index_put' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_INDEX_OP_ALL_DTYPES(put); ^ program_source:166:5: note: expanded from macro 'REGISTER_INDEX_OP_ALL_DTYPES' REGISTER_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:134:13: note: expanded from macro 'REGISTER_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :65:1: note: expanded from here index_put ^ program_source:111:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:203:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:203:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:203:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(8bit, idx64, char, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :73:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = char, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:205:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:205:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:205:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(16bit, idx64, short, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :81:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = short, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:207:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:207:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:207:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(32bit, idx64, int, INDEX_OP_TYPE, ulong3); \ ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :89:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:211:1: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:209:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ program_source:179:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' constant IDX_DTYPE * offsets [[buffer(3)]], \ ^ ~~~~~~~~~ program_source:211:1: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type program_source:209:75: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:211:1: error: explicit instantiation of 'index_put_serial' does not refer to a function template, variable template, member function, member class, or static data member REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES(put_serial); ^ program_source:209:5: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP_ALL_DTYPES' REGISTER_SINGLE_THREADED_INDEX_OP(64bit, idx64, long, INDEX_OP_TYPE, ulong3); ^ program_source:175:13: note: expanded from macro 'REGISTER_SINGLE_THREADED_INDEX_OP' kernel void index_ ## INDEX_OP_TYPE<DTYPE, IDX_DTYPE>( \ ^ :97:1: note: expanded from here index_put_serial ^ program_source:87:13: note: candidate template ignored: substitution failure [with T = long, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_serial( ^ program_source:242:17: error: type 'device ulong3 *' is not valid for attribute 'buffer' device ulong3 * data_offsets [[buffer(1)]], ^ ~~~~~~~~~ program_source:242:24: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type device ulong3 * data_offsets [[buffer(1)]], ^ program_source:240:13: error: explicit instantiation of 'kernel_index_offsets' does not refer to a function template, variable template, member function, member class, or static data member kernel void kernel_index_offsets<packed_uint3, ulong3>( ^ program_source:214:13: note: candidate template ignored: substitution failure [with StridesT = unsigned int attribute((packed_vector_type(3))), DataT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long device * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void kernel_index_offsets(constant StridesT * strides [[buffer(0)]], ^ program_source:351:5: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' constant ulong3 * offsets [[buffer(3)]], ^ ~~~~~~~~~ program_source:351:14: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type constant ulong3 * offsets [[buffer(3)]], ^ program_source:343:13: error: explicit instantiation of 'atomic_index_put_accumulate' does not refer to a function template, variable template, member function, member class, or static data member kernel void atomic_index_put_accumulate<float, ulong3>( ^ program_source:292:13: note: candidate template ignored: substitution failure [with T = float, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void atomic_index_put_accumulate( ^ program_source:383:5: error: type 'const constant ulong3 *' is not valid for attribute 'buffer' constant ulong3 * offsets [[buffer(3)]], ^ ~~~~~~~~~ program_source:383:14: note: type 'ulong3' (vector of 3 'unsigned long' values) cannot be used in buffer pointee type constant ulong3 * offsets [[buffer(3)]], ^ program_source:375:13: error: explicit instantiation of 'index_put_accumulate_native_dtypes' does not refer to a function template, variable template, member function, member class, or static data member kernel void index_put_accumulate_native_dtypes<atomic_int, int, ulong3>( ^ program_source:248:13: note: candidate template ignored: substitution failure [with T = metal::_atomic, E = int, OffsetsT = unsigned long attribute((ext_vector_type(3)))]: type 'unsigned long const constant * attribute((ext_vector_type(3)))' is not valid for attribute 'buffer' kernel void index_put_accumulate_native_dtypes( ^ }
Traceback:
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 535, in _run_script
exec(code, module.dict)
File "/Users/gaoxs/Documents/project/ChatGLM3/composite_demo/main.py", line 72, in
demo_chat.main(
File "/Users/gaoxs/Documents/project/ChatGLM3/composite_demo/demo_chat.py", line 62, in main
for response in client.generate_stream(
File "/Users/gaoxs/Documents/project/ChatGLM3/composite_demo/client.py", line 182, in generate_stream
for new_text, _ in stream_chat(
File "/Users/gaoxs/Documents/project/ChatGLM3/composite_demo/client.py", line 110, in stream_chat
for outputs in self.stream_generate(**inputs, past_key_values=past_key_values,
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 35, in generator_context
response = gen.send(None)
File "/Users/gaoxs/.cache/huggingface/modules/transformers_modules/THUDM/chatglm3-6b/b098244a71fbe69ce149682d9072a7629f7e908c/modeling_chatglm.py", line 1159, in stream_generate
outputs = self(
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
return forward_call(*args, **kwargs)
File "/Users/gaoxs/.cache/huggingface/modules/transformers_modules/THUDM/chatglm3-6b/b098244a71fbe69ce149682d9072a7629f7e908c/modeling_chatglm.py", line 937, in forward
transformer_outputs = self.transformer(
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/Users/gaoxs/miniforge3/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
return forward_call(*args, **kwargs)
File "/Users/gaoxs/.cache/huggingface/modules/transformers_modules/THUDM/chatglm3-6b/b098244a71fbe69ce149682d9072a7629f7e908c/modeling_chatglm.py", line 824, in forward
rotary_pos_emb = rotary_pos_emb[position_ids]
Beta Was this translation helpful? Give feedback.
All reactions