{"action":"created","issue":{"url":"https://api.github.com/repos/qutip/qutip/issues/554","repository_url":"https://api.github.com/repos/qutip/qutip","labels_url":"https://api.github.com/repos/qutip/qutip/issues/554/labels{/name}","comments_url":"https://api.github.com/repos/qutip/qutip/issues/554/comments","events_url":"https://api.github.com/repos/qutip/qutip/issues/554/events","html_url":"https://github.com/qutip/qutip/pull/554","id":187139179,"number":554,"title":"adding an opencl version of mcsolve","user":{"login":"cwassert","id":23153659,"avatar_url":"https://avatars.githubusercontent.com/u/23153659?v=3","gravatar_id":"","url":"https://api.github.com/users/cwassert","html_url":"https://github.com/cwassert","followers_url":"https://api.github.com/users/cwassert/followers","following_url":"https://api.github.com/users/cwassert/following{/other_user}","gists_url":"https://api.github.com/users/cwassert/gists{/gist_id}","starred_url":"https://api.github.com/users/cwassert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwassert/subscriptions","organizations_url":"https://api.github.com/users/cwassert/orgs","repos_url":"https://api.github.com/users/cwassert/repos","events_url":"https://api.github.com/users/cwassert/events{/privacy}","received_events_url":"https://api.github.com/users/cwassert/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"nonhermitian","id":1249193,"avatar_url":"https://avatars.githubusercontent.com/u/1249193?v=3","gravatar_id":"","url":"https://api.github.com/users/nonhermitian","html_url":"https://github.com/nonhermitian","followers_url":"https://api.github.com/users/nonhermitian/followers","following_url":"https://api.github.com/users/nonhermitian/following{/other_user}","gists_url":"https://api.github.com/users/nonhermitian/gists{/gist_id}","starred_url":"https://api.github.com/users/nonhermitian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nonhermitian/subscriptions","organizations_url":"https://api.github.com/users/nonhermitian/orgs","repos_url":"https://api.github.com/users/nonhermitian/repos","events_url":"https://api.github.com/users/nonhermitian/events{/privacy}","received_events_url":"https://api.github.com/users/nonhermitian/received_events","type":"User","site_admin":false},"assignees":[{"login":"nonhermitian","id":1249193,"avatar_url":"https://avatars.githubusercontent.com/u/1249193?v=3","gravatar_id":"","url":"https://api.github.com/users/nonhermitian","html_url":"https://github.com/nonhermitian","followers_url":"https://api.github.com/users/nonhermitian/followers","following_url":"https://api.github.com/users/nonhermitian/following{/other_user}","gists_url":"https://api.github.com/users/nonhermitian/gists{/gist_id}","starred_url":"https://api.github.com/users/nonhermitian/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nonhermitian/subscriptions","organizations_url":"https://api.github.com/users/nonhermitian/orgs","repos_url":"https://api.github.com/users/nonhermitian/repos","events_url":"https://api.github.com/users/nonhermitian/events{/privacy}","received_events_url":"https://api.github.com/users/nonhermitian/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-11-03T17:35:46Z","updated_at":"2016-11-12T17:10:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/qutip/qutip/pulls/554","html_url":"https://github.com/qutip/qutip/pull/554","diff_url":"https://github.com/qutip/qutip/pull/554.diff","patch_url":"https://github.com/qutip/qutip/pull/554.patch"},"body":"This pull request contains a reimplementation of `mcsolve` using [OpenCL](https://www.khronos.org/opencl/). More specifically [pyopencl](https://mathema.tician.de/software/pyopencl/).\r\n\r\nThe function is called `mcsolve_cl` and can be used as a drop-in replacement for `mcsolve` in many cases."},"comment":{"url":"https://api.github.com/repos/qutip/qutip/issues/comments/260134503","html_url":"https://github.com/qutip/qutip/pull/554#issuecomment-260134503","issue_url":"https://api.github.com/repos/qutip/qutip/issues/554","id":260134503,"user":{"login":"cwassert","id":23153659,"avatar_url":"https://avatars.githubusercontent.com/u/23153659?v=3","gravatar_id":"","url":"https://api.github.com/users/cwassert","html_url":"https://github.com/cwassert","followers_url":"https://api.github.com/users/cwassert/followers","following_url":"https://api.github.com/users/cwassert/following{/other_user}","gists_url":"https://api.github.com/users/cwassert/gists{/gist_id}","starred_url":"https://api.github.com/users/cwassert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwassert/subscriptions","organizations_url":"https://api.github.com/users/cwassert/orgs","repos_url":"https://api.github.com/users/cwassert/repos","events_url":"https://api.github.com/users/cwassert/events{/privacy}","received_events_url":"https://api.github.com/users/cwassert/received_events","type":"User","site_admin":false},"created_at":"2016-11-12T17:10:14Z","updated_at":"2016-11-12T17:10:14Z","body":"First of all I'm glad you could get it to run under OSX. Which OpenCL environment are you using?\r\n* Is the failure of `test_mcsolve_cl_time_dep_h` reproducible?\r\n* You can probably ignore the compiler warning. I assume it is related to the pragma statement. Some OpenCL implementations refuse to work without it, others give you a warning that it is unnecessary. Maybe we can omit the statement based on the platform version and hide some warning, but that would require more testing (on different platforms). At the moment there is a lot of debug information to ease testing.\r\n* The AttributeError you get is something I have not encountered yet.\r\n\r\nIf you do consider merging this branch, it is a good idea to get more people involved in testing. The code has not been reviewed and probably contains some bugs.\r\n\r\nThe questions you raised concerning the maintainability are all valid. On top of that setting up OpenCL is somewhat troublesome, which makes `mcsolve_cl` a kind of experimental feature. Ultimately it is up to the maintainers of qutip to decide whether such a feature should be included. The advantage `mcsolve_cl` has over `mcsolve_f90` is that it supports some time-dependence and introduces no build dependencies. If, for some reason `mcsolve_cl` does not work, the user can always fall back to `mcsolve`.\r\n\r\nBy the way, is it wise to rebase this branch all the time or only when necessary?"}}
{"actor":{"display_login":"cwassert"}}