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
-
求问这个问题怎么解决
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