payload: {"action":"created","issue":{"url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/325","repository_url":"https://api.github.com/repos/cms-patatrack/cmssw","labels_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/325/labels{/name}","comments_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/325/comments","events_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/325/events","html_url":"https://github.com/cms-patatrack/cmssw/issues/325","id":434626935,"node_id":"MDU6SXNzdWU0MzQ2MjY5MzU=","number":325,"title":"Investigate the use of Alpaka and CUPLA","user":{"login":"fwyzard","id":4069793,"node_id":"MDQ6VXNlcjQwNjk3OTM=","avatar_url":"https://avatars2.githubusercontent.com/u/4069793?v=4","gravatar_id":"","url":"https://api.github.com/users/fwyzard","html_url":"https://github.com/fwyzard","followers_url":"https://api.github.com/users/fwyzard/followers","following_url":"https://api.github.com/users/fwyzard/following{/other_user}","gists_url":"https://api.github.com/users/fwyzard/gists{/gist_id}","starred_url":"https://api.github.com/users/fwyzard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwyzard/subscriptions","organizations_url":"https://api.github.com/users/fwyzard/orgs","repos_url":"https://api.github.com/users/fwyzard/repos","events_url":"https://api.github.com/users/fwyzard/events{/privacy}","received_events_url":"https://api.github.com/users/fwyzard/received_events","type":"User","site_admin":false},"labels":[{"id":1165571797,"node_id":"MDU6TGFiZWwxMTY1NTcxNzk3","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/task","name":"task","color":"0045e8","default":false}],"state":"open","locked":false,"assignee":{"login":"fwyzard","id":4069793,"node_id":"MDQ6VXNlcjQwNjk3OTM=","avatar_url":"https://avatars2.githubusercontent.com/u/4069793?v=4","gravatar_id":"","url":"https://api.github.com/users/fwyzard","html_url":"https://github.com/fwyzard","followers_url":"https://api.github.com/users/fwyzard/followers","following_url":"https://api.github.com/users/fwyzard/following{/other_user}","gists_url":"https://api.github.com/users/fwyzard/gists{/gist_id}","starred_url":"https://api.github.com/users/fwyzard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwyzard/subscriptions","organizations_url":"https://api.github.com/users/fwyzard/orgs","repos_url":"https://api.github.com/users/fwyzard/repos","events_url":"https://api.github.com/users/fwyzard/events{/privacy}","received_events_url":"https://api.github.com/users/fwyzard/received_events","type":"User","site_admin":false},"assignees":[{"login":"fwyzard","id":4069793,"node_id":"MDQ6VXNlcjQwNjk3OTM=","avatar_url":"https://avatars2.githubusercontent.com/u/4069793?v=4","gravatar_id":"","url":"https://api.github.com/users/fwyzard","html_url":"https://github.com/fwyzard","followers_url":"https://api.github.com/users/fwyzard/followers","following_url":"https://api.github.com/users/fwyzard/following{/other_user}","gists_url":"https://api.github.com/users/fwyzard/gists{/gist_id}","starred_url":"https://api.github.com/users/fwyzard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwyzard/subscriptions","organizations_url":"https://api.github.com/users/fwyzard/orgs","repos_url":"https://api.github.com/users/fwyzard/repos","events_url":"https://api.github.com/users/fwyzard/events{/privacy}","received_events_url":"https://api.github.com/users/fwyzard/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2019-04-18T07:24:35Z","updated_at":"2019-04-18T14:03:52Z","closed_at":null,"author_association":"NONE","body":"We should look into Alpaka, and possibly CUPLA, as a way of semi-automatically port the CUDA kernels back to run on the cpu (and potentially other accelerators in the future).\r\n\r\nSome links:\r\n  - [Alpaka](https://github.com/ComputationalRadiationPhysics/alpaka) on GitHub\r\n  - Alpaka's [documentation](https://github.com/ComputationalRadiationPhysics/alpaka/blob/develop/doc/markdown/user/Introduction.md)\r\n   - [CUPLA](https://github.com/ComputationalRadiationPhysics/cupla) on GitHub\r\n   - CUPLA's [porting guide](https://github.com/ComputationalRadiationPhysics/cupla/blob/master/doc/PortingGuide.md)\r\n   - CUPLA's [tuning guide](https://github.com/ComputationalRadiationPhysics/cupla/blob/master/doc/TuningGuide.md)"},"comment":{"url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/comments/484523715","html_url":"https://github.com/cms-patatrack/cmssw/issues/325#issuecomment-484523715","issue_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/325","id":484523715,"node_id":"MDEyOklzc3VlQ29tbWVudDQ4NDUyMzcxNQ==","user":{"login":"fwyzard","id":4069793,"node_id":"MDQ6VXNlcjQwNjk3OTM=","avatar_url":"https://avatars2.githubusercontent.com/u/4069793?v=4","gravatar_id":"","url":"https://api.github.com/users/fwyzard","html_url":"https://github.com/fwyzard","followers_url":"https://api.github.com/users/fwyzard/followers","following_url":"https://api.github.com/users/fwyzard/following{/other_user}","gists_url":"https://api.github.com/users/fwyzard/gists{/gist_id}","starred_url":"https://api.github.com/users/fwyzard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fwyzard/subscriptions","organizations_url":"https://api.github.com/users/fwyzard/orgs","repos_url":"https://api.github.com/users/fwyzard/repos","events_url":"https://api.github.com/users/fwyzard/events{/privacy}","received_events_url":"https://api.github.com/users/fwyzard/received_events","type":"User","site_admin":false},"created_at":"2019-04-18T14:03:52Z","updated_at":"2019-04-18T14:03:52Z","author_association":"NONE","body":"Here is an [optimised version](https://github.com/makortel/pixel-standalone/pull/4) of the _cupla_ implementation, following the discussion in the [tuning guide](https://github.com/ComputationalRadiationPhysics/cupla/blob/master/doc/TuningGuide.md) and adding support for the TBB backend.\r\n\r\nWith these changes,  I get the following performance on my laptop (Intel Core i7-6700HQ 2.60GHz, NVIDIA GeForce GTX 960M):\r\n```\r\n$ ./main-naive\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 2242.15 us\r\n```\r\n```\r\n$ ./main-cupla-serial\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 2418.56 us\r\n```\r\n```\r\n$ taskset -c 0 ./main-cupla-tbb\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 2349.14 us\r\n```\r\n```\r\n$ taskset -c 0,1,2,3 ./main-cupla-tbb\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 799.58 us\r\n```\r\n```\r\n$ cudarun ./main-cuda\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 3229.69 us\r\n```\r\n```\r\n$ cudarun ./main-cupla-cuda\r\nGot 53376 for cabling, wordCounter 36328\r\nOutput: 1699 modules in 3233.61 us\r\n```\r\n\r\nOn the cpu, the serial and (single core) tbb versions are only 5-8% slower than the naïve implementation; the tbb implementation running on four cores is roughly 3 times faster.\r\n\r\nOn the gpu side, using cupla's CUDA backend does not seem to introduce any significant overhead over the native CUDA version. "}}
other: {"actor":{"display_login":"fwyzard"}}