{"action":"created","issue":{"url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/4","repository_url":"https://api.github.com/repos/NervanaSystems/ngraph","labels_url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/4/comments","events_url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/4/events","html_url":"https://github.com/NervanaSystems/ngraph/issues/4","id":191851228,"number":4,"title":"[Question] - How to extend graph functions?","user":{"login":"pedronahum","id":13268659,"avatar_url":"https://avatars.githubusercontent.com/u/13268659?v=3","gravatar_id":"","url":"https://api.github.com/users/pedronahum","html_url":"https://github.com/pedronahum","followers_url":"https://api.github.com/users/pedronahum/followers","following_url":"https://api.github.com/users/pedronahum/following{/other_user}","gists_url":"https://api.github.com/users/pedronahum/gists{/gist_id}","starred_url":"https://api.github.com/users/pedronahum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pedronahum/subscriptions","organizations_url":"https://api.github.com/users/pedronahum/orgs","repos_url":"https://api.github.com/users/pedronahum/repos","events_url":"https://api.github.com/users/pedronahum/events{/privacy}","received_events_url":"https://api.github.com/users/pedronahum/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-11-27T09:18:04Z","updated_at":"2016-11-28T17:15:51Z","closed_at":null,"body":"Dear Nervana team,\r\n\r\nFirst and foremost, great work!\r\n\r\nIf someone would like to use ngraph for GPP, instead of solely for DL, how could he/she add additional graph functions? Is there a document / example that describes the steps?\r\n\r\nThanks,\r\n\r\nPedro N.\r\n\r\n\r\n\r\n \r\n\r\n  "},"comment":{"url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/comments/263332304","html_url":"https://github.com/NervanaSystems/ngraph/issues/4#issuecomment-263332304","issue_url":"https://api.github.com/repos/NervanaSystems/ngraph/issues/4","id":263332304,"user":{"login":"diyessi","id":8300383,"avatar_url":"https://avatars.githubusercontent.com/u/8300383?v=3","gravatar_id":"","url":"https://api.github.com/users/diyessi","html_url":"https://github.com/diyessi","followers_url":"https://api.github.com/users/diyessi/followers","following_url":"https://api.github.com/users/diyessi/following{/other_user}","gists_url":"https://api.github.com/users/diyessi/gists{/gist_id}","starred_url":"https://api.github.com/users/diyessi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diyessi/subscriptions","organizations_url":"https://api.github.com/users/diyessi/orgs","repos_url":"https://api.github.com/users/diyessi/repos","events_url":"https://api.github.com/users/diyessi/events{/privacy}","received_events_url":"https://api.github.com/users/diyessi/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T17:15:51Z","updated_at":"2016-11-28T17:15:51Z","body":"First, this is an area quite likely to change significantly.\r\n\r\nLook at op_graph.py. For a tensor operation, you can either just define a function that constructs a few ops, or define a new op. If you define a new op, you need to add something in the cpu transformer and gpu transformer to tell how to execute the op. In the future, I expect that you'll be able to do that without modifying existing functions/methods. For GPU, you need to reshape your tensor dimensions from arbitrary to whatever the kernels you are using expect, while for NumPy you just need tensor striding that NumPy can work with.\r\n\r\nIf you need autodiff to work for your new op, there's a partial explanation in the docs about how autodiff works, and there are a lot of examples. Docs on this will be more extensive in the future."}}
{"actor":{"display_login":"diyessi"}}