11using metal::CommandEncoder;
16 const std::vector<T>& vec,
19 enc->setBytes(vec.data(), nelems *
sizeof(T), idx);
42 const std::vector<int>& shape,
43 const std::vector<size_t>& strides);
46 std::string
string = os.str();
47 return NS::String::string(
string.c_str(), NS::UTF8StringEncoding);
52 std::ostringstream label;
53 label <<
"Stream " << index;
59 MTL::CommandBuffer* command_buffer,
62 std::ostringstream label;
63 if (
auto cbuf_label = command_buffer->label(); cbuf_label) {
64 label << cbuf_label->utf8String();
66 primitive.
print(label);
Definition primitives.h:48
virtual void print(std::ostream &os)=0
Print the primitive.
void debug_set_primitive_buffer_label(MTL::CommandBuffer *command_buffer, Primitive &primitive)
Definition utils.h:58
void set_vector_bytes(CommandEncoder &enc, const std::vector< T > &vec, size_t nelems, int idx)
Definition utils.h:14
void debug_set_stream_queue_label(MTL::CommandQueue *queue, int index)
Definition utils.h:50
MTL::Size get_block_dims(int dim0, int dim1, int dim2)
MTL::Size get_2d_grid_dims(const std::vector< int > &shape, const std::vector< size_t > &strides)
std::string get_primitive_string(Primitive *primitive)
NS::String * make_string(std::ostringstream &os)
Definition utils.h:45
std::string type_to_name(const array &a)