{"href":"https://api.simplecast.com/oembed?url=https%3A%2F%2Fpytorch-dev-podcast.simplecast.com%2Fepisodes%2Fhow-new-operators-are-authored-jINCpF_S","width":444,"version":"1.0","type":"rich","title":"How new operators are authored","thumbnail_width":300,"thumbnail_url":"https://image.simplecastcdn.com/images/8cefde76-fb46-406a-8d87-ab0df67f3423/92f11400-2dad-49b4-8b14-cce35f5ab765/pytorch-symbol-02-orangeondark.jpg","thumbnail_height":300,"provider_url":"https://simplecast.com","provider_name":"Simplecast","html":"<iframe src=\"https://player.simplecast.com/d1ce0783-001a-4dbf-bc4c-5c9dc79e6e48\" height=\"200\" width=\"100%\" title=\"How new operators are authored\" frameborder=\"0\" scrolling=\"no\"></iframe>","height":200,"description":"What's the general process by which a new operator is added to PyTorch? Why is this actually something of a rare occurrence? How do you integrate an operator with the rest of PyTorch's system so it can be run end-to-end? What should I expect if I'm writing a CPU and CUDA kernel? What tools are available to me to make the job easier? How can I debug my kernels? How do I test them?"}