{"action":"created","issue":{"url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/69","repository_url":"https://api.github.com/repos/fiedl/hole-ice-study","labels_url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/69/labels{/name}","comments_url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/69/comments","events_url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/69/events","html_url":"https://github.com/fiedl/hole-ice-study/issues/69","id":326721529,"number":69,"title":"Profiling","user":{"login":"fiedl","id":1679688,"avatar_url":"https://avatars0.githubusercontent.com/u/1679688?v=4","gravatar_id":"","url":"https://api.github.com/users/fiedl","html_url":"https://github.com/fiedl","followers_url":"https://api.github.com/users/fiedl/followers","following_url":"https://api.github.com/users/fiedl/following{/other_user}","gists_url":"https://api.github.com/users/fiedl/gists{/gist_id}","starred_url":"https://api.github.com/users/fiedl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fiedl/subscriptions","organizations_url":"https://api.github.com/users/fiedl/orgs","repos_url":"https://api.github.com/users/fiedl/repos","events_url":"https://api.github.com/users/fiedl/events{/privacy}","received_events_url":"https://api.github.com/users/fiedl/received_events","type":"User","site_admin":false},"labels":[{"id":944300904,"url":"https://api.github.com/repos/fiedl/hole-ice-study/labels/performance","name":"performance","color":"387899","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2018-05-26T08:34:26Z","updated_at":"2018-05-26T20:44:28Z","closed_at":null,"author_association":"OWNER","body":"Which part of the new code does cost how much computation time?\r\n\r\nSome considerations:\r\n\r\n- Profiling within the kernel code and outputting the results is very imperformant itself and thus can only be done for a small number of photons, whereas the real performance issues arise when there are many photons as in flasher simulations (https://github.com/fiedl/hole-ice-study/issues/68).\r\n- In the GPU kernel, one can't just ask for the current time. But one can use the [GPU clock](https://stackoverflow.com/a/34252109/2066546). The clock counter are not nanoseconds, but are just GPU cycle ticks. Nevertheless, this gives an understanding of the relative amount of computation spent at the several parts of the code.\r\n\r\nWhat needs to be done:\r\n\r\n- [x] Profiling the new medium propagation code: Layers, hole ice, sorting, medium loop.\r\n- [x] What portion of the total propagation is spent in the new code?\r\n- [ ] How does that compare to standard clsim?\r\n- [ ] Are there differences when using GPU vs. CPU?\r\n"},"comment":{"url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/comments/392287067","html_url":"https://github.com/fiedl/hole-ice-study/issues/69#issuecomment-392287067","issue_url":"https://api.github.com/repos/fiedl/hole-ice-study/issues/69","id":392287067,"user":{"login":"fiedl","id":1679688,"avatar_url":"https://avatars0.githubusercontent.com/u/1679688?v=4","gravatar_id":"","url":"https://api.github.com/users/fiedl","html_url":"https://github.com/fiedl","followers_url":"https://api.github.com/users/fiedl/followers","following_url":"https://api.github.com/users/fiedl/following{/other_user}","gists_url":"https://api.github.com/users/fiedl/gists{/gist_id}","starred_url":"https://api.github.com/users/fiedl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fiedl/subscriptions","organizations_url":"https://api.github.com/users/fiedl/orgs","repos_url":"https://api.github.com/users/fiedl/repos","events_url":"https://api.github.com/users/fiedl/events{/privacy}","received_events_url":"https://api.github.com/users/fiedl/received_events","type":"User","site_admin":false},"created_at":"2018-05-26T20:44:28Z","updated_at":"2018-05-26T20:44:28Z","author_association":"OWNER","body":"Another attempt to measure the performance cost of the profiling itself: Drop the inner clock counter and measure just the overall scattering step.\r\n\r\n```c\r\n        //clock_t t2 = clock();\r\n        //clock_t t1 = clock();\r\n        apply_propagation_through_different_media(\r\n          photonPosAndTime,\r\n          photonDirAndWlen,\r\n          #ifdef HOLE_ICE\r\n            numberOfCylinders,\r\n            cylinderPositionsAndRadii,\r\n            cylinderScatteringLengths,\r\n            cylinderAbsorptionLengths,\r\n          #endif\r\n          &sca_step_left,\r\n          &abs_lens_left,\r\n          &distancePropagated,\r\n          &distanceToAbsorption\r\n        );\r\n        //printf(\"PROFILING apply_propagation_through_different_media %lu\\n\", clock() - t1);\r\n        //printf(\"PROFILING apply_propagation_through_different_media_2 %lu\\n\", clock() - t2);\r\n```"}}
{"actor":{"display_login":"fiedl"}}