{"action":"created","issue":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1553","repository_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu","labels_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1553/labels{/name}","comments_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1553/comments","events_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1553/events","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/issues/1553","id":172233681,"number":1553,"title":"Warning: ABI change for 32-byte alignment","user":{"login":"n01r","id":5416860,"avatar_url":"https://avatars.githubusercontent.com/u/5416860?v=3","gravatar_id":"","url":"https://api.github.com/users/n01r","html_url":"https://github.com/n01r","followers_url":"https://api.github.com/users/n01r/followers","following_url":"https://api.github.com/users/n01r/following{/other_user}","gists_url":"https://api.github.com/users/n01r/gists{/gist_id}","starred_url":"https://api.github.com/users/n01r/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/n01r/subscriptions","organizations_url":"https://api.github.com/users/n01r/orgs","repos_url":"https://api.github.com/users/n01r/repos","events_url":"https://api.github.com/users/n01r/events{/privacy}","received_events_url":"https://api.github.com/users/n01r/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-08-19T22:40:49Z","updated_at":"2016-08-22T17:40:28Z","closed_at":null,"body":"When compiling picongpu with CUDA 7.0 there is a warning _src/picongpu/src/picongpu/include/particles/ionization/ionization.hpp:63:1: note: The ABI for passing parameters with 32-byte alignment has changed in_\r\n _GCC 4.6_\r\n\r\nrelated to #36 \r\n\r\nPossible way of fixing this: passing non-native types by const reference instead of by copy.\r\n\r\n**update:**\r\nThe warning only occurs when an ionization model is used which requires a random number generator.\r\nIt started occuring when I replaced the old version with the one written by @Flamefire. Maybe sth is not correctly aligned in the struct that contains the implementation of the ionization model. Also the order of `typedef`s and member definitions plays a role in that.\r\n"},"comment":{"url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/comments/241490617","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu/issues/1553#issuecomment-241490617","issue_url":"https://api.github.com/repos/ComputationalRadiationPhysics/picongpu/issues/1553","id":241490617,"user":{"login":"Flamefire","id":309017,"avatar_url":"https://avatars.githubusercontent.com/u/309017?v=3","gravatar_id":"","url":"https://api.github.com/users/Flamefire","html_url":"https://github.com/Flamefire","followers_url":"https://api.github.com/users/Flamefire/followers","following_url":"https://api.github.com/users/Flamefire/following{/other_user}","gists_url":"https://api.github.com/users/Flamefire/gists{/gist_id}","starred_url":"https://api.github.com/users/Flamefire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Flamefire/subscriptions","organizations_url":"https://api.github.com/users/Flamefire/orgs","repos_url":"https://api.github.com/users/Flamefire/repos","events_url":"https://api.github.com/users/Flamefire/events{/privacy}","received_events_url":"https://api.github.com/users/Flamefire/received_events","type":"User","site_admin":false},"created_at":"2016-08-22T17:40:28Z","updated_at":"2016-08-22T17:40:28Z","body":"Passing by const-ref is not possible here as this is a kernel. If this happens when a RNG is used (try it by replacing the RNG in your model by a dummy functor with no members) then that could be the cause. The RNG state is not aligned via PMACC_ALIGN as it is also used in buffer and alignment there is not required and would introduce quite some space overhead to the already big buffer. So a possible fix (if that is the problem) would be to align the state in the random functor or the functor itself."}}
{"actor":{"display_login":"Flamefire"}}