{"action":"created","issue":{"url":"https://api.github.com/repos/pocl/pocl/issues/281","labels_url":"https://api.github.com/repos/pocl/pocl/issues/281/labels{/name}","comments_url":"https://api.github.com/repos/pocl/pocl/issues/281/comments","events_url":"https://api.github.com/repos/pocl/pocl/issues/281/events","html_url":"https://github.com/pocl/pocl/pull/281","id":119465770,"number":281,"title":"OpenCL 2.0 (SVM) Atomics","user":{"login":"franz","id":90404,"avatar_url":"https://avatars.githubusercontent.com/u/90404?v=3","gravatar_id":"","url":"https://api.github.com/users/franz","html_url":"https://github.com/franz","followers_url":"https://api.github.com/users/franz/followers","following_url":"https://api.github.com/users/franz/following{/other_user}","gists_url":"https://api.github.com/users/franz/gists{/gist_id}","starred_url":"https://api.github.com/users/franz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/franz/subscriptions","organizations_url":"https://api.github.com/users/franz/orgs","repos_url":"https://api.github.com/users/franz/repos","events_url":"https://api.github.com/users/franz/events{/privacy}","received_events_url":"https://api.github.com/users/franz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-30T10:39:39Z","updated_at":"2015-11-30T11:42:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/pocl/pocl/pulls/281","html_url":"https://github.com/pocl/pocl/pull/281","diff_url":"https://github.com/pocl/pocl/pull/281.diff","patch_url":"https://github.com/pocl/pocl/pull/281.patch"},"body":"Implements (a subset of) C11-style atomic operations for Host and HSA devices.\r\n\r\nHad to bump the device/pocl OpenCL version to 2.0 (clang doesn't recognize the atomic types unless it's given -cl-std=CL2.0 option). While doing that, i fixed some Host-specific code which in fact shouldn't depend on Host at all (like pocl-features.h).\r\n\r\nAlso added clCreateCommandQueueWithProperties(), required for CL2.0 samples to work.\r\n\r\nSome problems that remain unsolved:\r\n* Host atomics: clang builtins for min/max atomics exist only for int and uint. I have added an .ll file for x86_64 that directly uses atomicrmw, but all other archs are unlucky (for now).\r\n* HSAIL code: ignores scope argument, always uses \"system\" - this is a shortcoming of the atomicrmw instruction\r\n* atomic_work_item_fence missing\r\n* HSA atomics seems to work only with max workgroup size 64, reason unknown. HSA runtime reports max wg size 1024; clinfo with proprietary amd drivers reports 256, but 256 does not work either.\r\n* Bumping CL version to 2.0 might have broken TCE build (did not test)\r\n\r\nSeveral new AMD SDK 3.0 examples work: CalcPie, FineGrainSVMCAS (FineGrainSVM does not, or maybe it's just taking way too long)\r\n "},"comment":{"url":"https://api.github.com/repos/pocl/pocl/issues/comments/160607452","html_url":"https://github.com/pocl/pocl/pull/281#issuecomment-160607452","issue_url":"https://api.github.com/repos/pocl/pocl/issues/281","id":160607452,"user":{"login":"pjaaskel","id":1652632,"avatar_url":"https://avatars.githubusercontent.com/u/1652632?v=3","gravatar_id":"","url":"https://api.github.com/users/pjaaskel","html_url":"https://github.com/pjaaskel","followers_url":"https://api.github.com/users/pjaaskel/followers","following_url":"https://api.github.com/users/pjaaskel/following{/other_user}","gists_url":"https://api.github.com/users/pjaaskel/gists{/gist_id}","starred_url":"https://api.github.com/users/pjaaskel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pjaaskel/subscriptions","organizations_url":"https://api.github.com/users/pjaaskel/orgs","repos_url":"https://api.github.com/users/pjaaskel/repos","events_url":"https://api.github.com/users/pjaaskel/events{/privacy}","received_events_url":"https://api.github.com/users/pjaaskel/received_events","type":"User","site_admin":false},"created_at":"2015-11-30T11:42:15Z","updated_at":"2015-11-30T11:42:15Z","body":"Yes."}}