{"action":"created","issue":{"url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/60","repository_url":"https://api.github.com/repos/cms-patatrack/cmssw","labels_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/60/comments","events_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/60/events","html_url":"https://github.com/cms-patatrack/cmssw/pull/60","id":327320405,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkxMTQ2MDM2","number":60,"title":"Riemann fit gpu","user":{"login":"rovere","id":1169991,"node_id":"MDQ6VXNlcjExNjk5OTE=","avatar_url":"https://avatars3.githubusercontent.com/u/1169991?v=4","gravatar_id":"","url":"https://api.github.com/users/rovere","html_url":"https://github.com/rovere","followers_url":"https://api.github.com/users/rovere/followers","following_url":"https://api.github.com/users/rovere/following{/other_user}","gists_url":"https://api.github.com/users/rovere/gists{/gist_id}","starred_url":"https://api.github.com/users/rovere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rovere/subscriptions","organizations_url":"https://api.github.com/users/rovere/orgs","repos_url":"https://api.github.com/users/rovere/repos","events_url":"https://api.github.com/users/rovere/events{/privacy}","received_events_url":"https://api.github.com/users/rovere/received_events","type":"User","site_admin":false},"labels":[{"id":841624267,"node_id":"MDU6TGFiZWw4NDE2MjQyNjc=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/comparison-pending","name":"comparison-pending","color":"ededed","default":false},{"id":841624263,"node_id":"MDU6TGFiZWw4NDE2MjQyNjM=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/new-package-pending","name":"new-package-pending","color":"ededed","default":false},{"id":851233844,"node_id":"MDU6TGFiZWw4NTEyMzM4NDQ=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/operations-pending","name":"operations-pending","color":"ededed","default":false},{"id":851233843,"node_id":"MDU6TGFiZWw4NTEyMzM4NDM=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/pdmv-pending","name":"pdmv-pending","color":"ededed","default":false},{"id":841624265,"node_id":"MDU6TGFiZWw4NDE2MjQyNjU=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/pending-signatures","name":"pending-signatures","color":"ededed","default":false},{"id":841919978,"node_id":"MDU6TGFiZWw4NDE5MTk5Nzg=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/reconstruction-pending","name":"reconstruction-pending","color":"ededed","default":false},{"id":841624266,"node_id":"MDU6TGFiZWw4NDE2MjQyNjY=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/tests-pending","name":"tests-pending","color":"ededed","default":false},{"id":851233842,"node_id":"MDU6TGFiZWw4NTEyMzM4NDI=","url":"https://api.github.com/repos/cms-patatrack/cmssw/labels/upgrade-pending","name":"upgrade-pending","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-05-29T13:27:06Z","updated_at":"2018-06-05T15:17:17Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/cms-patatrack/cmssw/pulls/60","html_url":"https://github.com/cms-patatrack/cmssw/pull/60","diff_url":"https://github.com/cms-patatrack/cmssw/pull/60.diff","patch_url":"https://github.com/cms-patatrack/cmssw/pull/60.patch"},"body":"* The CPU Riemann fit works using all combinations between the 2 booleans: useErrors and useMultipleScattering.\r\n* The standalone version of the GPU Riemann fit has been updated in order to explore all possibilities among the 2 booleans above. All of them work and produce identical results up to 1e-5 precision (the default one, 1e-6 fails when enabling multiScattering, most likely due to matrix inversions.)\r\n* The GPU version of the Riemann fit within CMSSW works, with 1 fit assigned to each thread, with 32 threads/warps, all dynamically computed.\r\n\r\nThings that I have to \"hack\":\r\n\r\n* limit the \"dynamic\" size of Eigen matrices to at most, 4x4, which is just fine for quadruplets. Using anything wider will cause errors which I *believe* is related to the stack size of threads on the GPU.\r\n* Cast matrices to be inverted to 4x4 (was done before the previous point: will revert it back and see if that's still needed or not, but I believe it is). This was done in order to \"specialize\" the invert() call to something that is \"natively\" supported by Eigen on GPU (that brought in also few __host__ __device__ here and there in Eigen that Andrea took care of).\r\n* fix the alignment of the struct holding the results of the fit, since its size was different on GPU and CPU, causing an annoying off-by-one effect that took me some time to spot."},"comment":{"url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/comments/394749218","html_url":"https://github.com/cms-patatrack/cmssw/pull/60#issuecomment-394749218","issue_url":"https://api.github.com/repos/cms-patatrack/cmssw/issues/60","id":394749218,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDc0OTIxOA==","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":"2018-06-05T15:17:17Z","updated_at":"2018-06-05T15:17:17Z","author_association":"NONE","body":"Looking at the plots, this PR seems to behave as expected.\r\n\r\npulls for 10824.7:\r\n![image](https://user-images.githubusercontent.com/4069793/40985358-37da2ac8-68e4-11e8-9559-d3b59a022d13.png)\r\n\r\npulls for 10824.9:\r\n![image](https://user-images.githubusercontent.com/4069793/40985386-47d02acc-68e4-11e8-8bec-e7745a712b7b.png)\r\n"}}
{"actor":{"display_login":"fwyzard"}}