{"action":"created","comment":{"url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/comments/101900059","pull_request_review_id":22644130,"id":101900059,"diff_hunk":"@@ -1,5 +1,8 @@\n FIND_PACKAGE(OpenCL REQUIRED)\n \n+OPTION(USE_CLBLAST \"Build ArrayFire with the CLBlast BLAS library for the OpenCL backend\" OFF)\n+OPTION(USE_CLBLAS \"Build ArrayFire with the clBLAS BLAS library for the OpenCL backend\" ON)","path":"src/backend/opencl/CMakeLists.txt","position":4,"original_position":4,"commit_id":"fd6dd9b5cbc0f1a1938372ca61fc63bc48870c4e","original_commit_id":"5f3d9f37f20f16d9c1872c0393d3aff1d1183954","user":{"login":"umar456","id":457510,"avatar_url":"https://avatars.githubusercontent.com/u/457510?v=3","gravatar_id":"","url":"https://api.github.com/users/umar456","html_url":"https://github.com/umar456","followers_url":"https://api.github.com/users/umar456/followers","following_url":"https://api.github.com/users/umar456/following{/other_user}","gists_url":"https://api.github.com/users/umar456/gists{/gist_id}","starred_url":"https://api.github.com/users/umar456/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/umar456/subscriptions","organizations_url":"https://api.github.com/users/umar456/orgs","repos_url":"https://api.github.com/users/umar456/repos","events_url":"https://api.github.com/users/umar456/events{/privacy}","received_events_url":"https://api.github.com/users/umar456/received_events","type":"User","site_admin":false},"body":"We do that with the CMAKE_BUILD_TYPE option. You can find the code [here](https://github.com/arrayfire/arrayfire/blob/devel/CMakeLists.txt#L38).","created_at":"2017-02-18T19:05:08Z","updated_at":"2017-02-18T19:05:08Z","html_url":"https://github.com/arrayfire/arrayfire/pull/1727#discussion_r101900059","pull_request_url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727","_links":{"self":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/comments/101900059"},"html":{"href":"https://github.com/arrayfire/arrayfire/pull/1727#discussion_r101900059"},"pull_request":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727"}}},"pull_request":{"url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727","id":105749349,"html_url":"https://github.com/arrayfire/arrayfire/pull/1727","diff_url":"https://github.com/arrayfire/arrayfire/pull/1727.diff","patch_url":"https://github.com/arrayfire/arrayfire/pull/1727.patch","issue_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1727","number":1727,"state":"open","locked":false,"title":"Added CLBlast as an optional back-end for OpenCL BLAS","user":{"login":"CNugteren","id":1162108,"avatar_url":"https://avatars.githubusercontent.com/u/1162108?v=3","gravatar_id":"","url":"https://api.github.com/users/CNugteren","html_url":"https://github.com/CNugteren","followers_url":"https://api.github.com/users/CNugteren/followers","following_url":"https://api.github.com/users/CNugteren/following{/other_user}","gists_url":"https://api.github.com/users/CNugteren/gists{/gist_id}","starred_url":"https://api.github.com/users/CNugteren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CNugteren/subscriptions","organizations_url":"https://api.github.com/users/CNugteren/orgs","repos_url":"https://api.github.com/users/CNugteren/repos","events_url":"https://api.github.com/users/CNugteren/events{/privacy}","received_events_url":"https://api.github.com/users/CNugteren/received_events","type":"User","site_admin":false},"body":"These changes add the CLBlast OpenCL BLAS library as an optional alternative to clBLAS. This PR is based on the discussions in #1611.\r\n\r\nThere are basically two changes:\r\n* All clBLAS-specific code is moved to separate files with compilation guarded by the `USE_CLBLAS` define and the `USE_CLBLAS` CMake option. This is done for the regular 'blas' part and the 'magma' part. These changes make it easy to add any other OpenCL BLAS libraries as a replacement for clBLAS.\r\n* The CLBlast-specific code is added in separate files with compilation guarded by the `USE_CLBLAST` define and the `USE_CLBLAST` CMake option.\r\n\r\nSo, for example we now have:\r\n* `src/backend/opencl/blas.hpp`: A back-end agnostic OpenCL BLAS header\r\n* `src/backend/opencl/blas_clblas.cpp`: clBLAS-specific implementation of the `blas.hpp` header\r\n* `src/backend/opencl/blas_clblast.cpp`: CLBlast-specific implementation of the `blas.hpp` header\r\n\r\nThings that are still missing perhaps:\r\n* Documentation on the new CMake options\r\n* Proper testing to see whether the clBLAS back-end behaves as it did before\r\n* TRSV and TRSM support in CLBlast ([under construction](https://github.com/CNugteren/CLBlast/tree/triangular_solvers))","created_at":"2017-02-11T10:19:27Z","updated_at":"2017-02-18T19:05:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2411e1ea4e4e82fc42d95e165f24de55a3ee8ac2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727/commits","review_comments_url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727/comments","review_comment_url":"https://api.github.com/repos/arrayfire/arrayfire/pulls/comments{/number}","comments_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/1727/comments","statuses_url":"https://api.github.com/repos/arrayfire/arrayfire/statuses/fd6dd9b5cbc0f1a1938372ca61fc63bc48870c4e","head":{"label":"CNugteren:clblast","ref":"clblast","sha":"fd6dd9b5cbc0f1a1938372ca61fc63bc48870c4e","user":{"login":"CNugteren","id":1162108,"avatar_url":"https://avatars.githubusercontent.com/u/1162108?v=3","gravatar_id":"","url":"https://api.github.com/users/CNugteren","html_url":"https://github.com/CNugteren","followers_url":"https://api.github.com/users/CNugteren/followers","following_url":"https://api.github.com/users/CNugteren/following{/other_user}","gists_url":"https://api.github.com/users/CNugteren/gists{/gist_id}","starred_url":"https://api.github.com/users/CNugteren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CNugteren/subscriptions","organizations_url":"https://api.github.com/users/CNugteren/orgs","repos_url":"https://api.github.com/users/CNugteren/repos","events_url":"https://api.github.com/users/CNugteren/events{/privacy}","received_events_url":"https://api.github.com/users/CNugteren/received_events","type":"User","site_admin":false},"repo":{"id":76115058,"name":"arrayfire","full_name":"CNugteren/arrayfire","owner":{"login":"CNugteren","id":1162108,"avatar_url":"https://avatars.githubusercontent.com/u/1162108?v=3","gravatar_id":"","url":"https://api.github.com/users/CNugteren","html_url":"https://github.com/CNugteren","followers_url":"https://api.github.com/users/CNugteren/followers","following_url":"https://api.github.com/users/CNugteren/following{/other_user}","gists_url":"https://api.github.com/users/CNugteren/gists{/gist_id}","starred_url":"https://api.github.com/users/CNugteren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CNugteren/subscriptions","organizations_url":"https://api.github.com/users/CNugteren/orgs","repos_url":"https://api.github.com/users/CNugteren/repos","events_url":"https://api.github.com/users/CNugteren/events{/privacy}","received_events_url":"https://api.github.com/users/CNugteren/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/CNugteren/arrayfire","description":"ArrayFire: a general purpose GPU library.","fork":true,"url":"https://api.github.com/repos/CNugteren/arrayfire","forks_url":"https://api.github.com/repos/CNugteren/arrayfire/forks","keys_url":"https://api.github.com/repos/CNugteren/arrayfire/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CNugteren/arrayfire/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CNugteren/arrayfire/teams","hooks_url":"https://api.github.com/repos/CNugteren/arrayfire/hooks","issue_events_url":"https://api.github.com/repos/CNugteren/arrayfire/issues/events{/number}","events_url":"https://api.github.com/repos/CNugteren/arrayfire/events","assignees_url":"https://api.github.com/repos/CNugteren/arrayfire/assignees{/user}","branches_url":"https://api.github.com/repos/CNugteren/arrayfire/branches{/branch}","tags_url":"https://api.github.com/repos/CNugteren/arrayfire/tags","blobs_url":"https://api.github.com/repos/CNugteren/arrayfire/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CNugteren/arrayfire/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CNugteren/arrayfire/git/refs{/sha}","trees_url":"https://api.github.com/repos/CNugteren/arrayfire/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CNugteren/arrayfire/statuses/{sha}","languages_url":"https://api.github.com/repos/CNugteren/arrayfire/languages","stargazers_url":"https://api.github.com/repos/CNugteren/arrayfire/stargazers","contributors_url":"https://api.github.com/repos/CNugteren/arrayfire/contributors","subscribers_url":"https://api.github.com/repos/CNugteren/arrayfire/subscribers","subscription_url":"https://api.github.com/repos/CNugteren/arrayfire/subscription","commits_url":"https://api.github.com/repos/CNugteren/arrayfire/commits{/sha}","git_commits_url":"https://api.github.com/repos/CNugteren/arrayfire/git/commits{/sha}","comments_url":"https://api.github.com/repos/CNugteren/arrayfire/comments{/number}","issue_comment_url":"https://api.github.com/repos/CNugteren/arrayfire/issues/comments{/number}","contents_url":"https://api.github.com/repos/CNugteren/arrayfire/contents/{+path}","compare_url":"https://api.github.com/repos/CNugteren/arrayfire/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CNugteren/arrayfire/merges","archive_url":"https://api.github.com/repos/CNugteren/arrayfire/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CNugteren/arrayfire/downloads","issues_url":"https://api.github.com/repos/CNugteren/arrayfire/issues{/number}","pulls_url":"https://api.github.com/repos/CNugteren/arrayfire/pulls{/number}","milestones_url":"https://api.github.com/repos/CNugteren/arrayfire/milestones{/number}","notifications_url":"https://api.github.com/repos/CNugteren/arrayfire/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CNugteren/arrayfire/labels{/name}","releases_url":"https://api.github.com/repos/CNugteren/arrayfire/releases{/id}","deployments_url":"https://api.github.com/repos/CNugteren/arrayfire/deployments","created_at":"2016-12-10T13:45:45Z","updated_at":"2016-12-12T00:59:31Z","pushed_at":"2017-02-18T13:37:03Z","git_url":"git://github.com/CNugteren/arrayfire.git","ssh_url":"git@github.com:CNugteren/arrayfire.git","clone_url":"https://github.com/CNugteren/arrayfire.git","svn_url":"https://github.com/CNugteren/arrayfire","homepage":"https://arrayfire.com","size":9800,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"devel"}},"base":{"label":"arrayfire:devel","ref":"devel","sha":"ae348176c9e2eaef9ed41706b11a840b42586237","user":{"login":"arrayfire","id":5395442,"avatar_url":"https://avatars.githubusercontent.com/u/5395442?v=3","gravatar_id":"","url":"https://api.github.com/users/arrayfire","html_url":"https://github.com/arrayfire","followers_url":"https://api.github.com/users/arrayfire/followers","following_url":"https://api.github.com/users/arrayfire/following{/other_user}","gists_url":"https://api.github.com/users/arrayfire/gists{/gist_id}","starred_url":"https://api.github.com/users/arrayfire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arrayfire/subscriptions","organizations_url":"https://api.github.com/users/arrayfire/orgs","repos_url":"https://api.github.com/users/arrayfire/repos","events_url":"https://api.github.com/users/arrayfire/events{/privacy}","received_events_url":"https://api.github.com/users/arrayfire/received_events","type":"Organization","site_admin":false},"repo":{"id":25889802,"name":"arrayfire","full_name":"arrayfire/arrayfire","owner":{"login":"arrayfire","id":5395442,"avatar_url":"https://avatars.githubusercontent.com/u/5395442?v=3","gravatar_id":"","url":"https://api.github.com/users/arrayfire","html_url":"https://github.com/arrayfire","followers_url":"https://api.github.com/users/arrayfire/followers","following_url":"https://api.github.com/users/arrayfire/following{/other_user}","gists_url":"https://api.github.com/users/arrayfire/gists{/gist_id}","starred_url":"https://api.github.com/users/arrayfire/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arrayfire/subscriptions","organizations_url":"https://api.github.com/users/arrayfire/orgs","repos_url":"https://api.github.com/users/arrayfire/repos","events_url":"https://api.github.com/users/arrayfire/events{/privacy}","received_events_url":"https://api.github.com/users/arrayfire/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/arrayfire/arrayfire","description":"ArrayFire: a general purpose GPU library.","fork":false,"url":"https://api.github.com/repos/arrayfire/arrayfire","forks_url":"https://api.github.com/repos/arrayfire/arrayfire/forks","keys_url":"https://api.github.com/repos/arrayfire/arrayfire/keys{/key_id}","collaborators_url":"https://api.github.com/repos/arrayfire/arrayfire/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/arrayfire/arrayfire/teams","hooks_url":"https://api.github.com/repos/arrayfire/arrayfire/hooks","issue_events_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/events{/number}","events_url":"https://api.github.com/repos/arrayfire/arrayfire/events","assignees_url":"https://api.github.com/repos/arrayfire/arrayfire/assignees{/user}","branches_url":"https://api.github.com/repos/arrayfire/arrayfire/branches{/branch}","tags_url":"https://api.github.com/repos/arrayfire/arrayfire/tags","blobs_url":"https://api.github.com/repos/arrayfire/arrayfire/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/arrayfire/arrayfire/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/arrayfire/arrayfire/git/refs{/sha}","trees_url":"https://api.github.com/repos/arrayfire/arrayfire/git/trees{/sha}","statuses_url":"https://api.github.com/repos/arrayfire/arrayfire/statuses/{sha}","languages_url":"https://api.github.com/repos/arrayfire/arrayfire/languages","stargazers_url":"https://api.github.com/repos/arrayfire/arrayfire/stargazers","contributors_url":"https://api.github.com/repos/arrayfire/arrayfire/contributors","subscribers_url":"https://api.github.com/repos/arrayfire/arrayfire/subscribers","subscription_url":"https://api.github.com/repos/arrayfire/arrayfire/subscription","commits_url":"https://api.github.com/repos/arrayfire/arrayfire/commits{/sha}","git_commits_url":"https://api.github.com/repos/arrayfire/arrayfire/git/commits{/sha}","comments_url":"https://api.github.com/repos/arrayfire/arrayfire/comments{/number}","issue_comment_url":"https://api.github.com/repos/arrayfire/arrayfire/issues/comments{/number}","contents_url":"https://api.github.com/repos/arrayfire/arrayfire/contents/{+path}","compare_url":"https://api.github.com/repos/arrayfire/arrayfire/compare/{base}...{head}","merges_url":"https://api.github.com/repos/arrayfire/arrayfire/merges","archive_url":"https://api.github.com/repos/arrayfire/arrayfire/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/arrayfire/arrayfire/downloads","issues_url":"https://api.github.com/repos/arrayfire/arrayfire/issues{/number}","pulls_url":"https://api.github.com/repos/arrayfire/arrayfire/pulls{/number}","milestones_url":"https://api.github.com/repos/arrayfire/arrayfire/milestones{/number}","notifications_url":"https://api.github.com/repos/arrayfire/arrayfire/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/arrayfire/arrayfire/labels{/name}","releases_url":"https://api.github.com/repos/arrayfire/arrayfire/releases{/id}","deployments_url":"https://api.github.com/repos/arrayfire/arrayfire/deployments","created_at":"2014-10-28T20:58:33Z","updated_at":"2017-02-18T02:53:30Z","pushed_at":"2017-02-18T13:37:05Z","git_url":"git://github.com/arrayfire/arrayfire.git","ssh_url":"git@github.com:arrayfire/arrayfire.git","clone_url":"https://github.com/arrayfire/arrayfire.git","svn_url":"https://github.com/arrayfire/arrayfire","homepage":"https://arrayfire.com","size":9786,"stargazers_count":1597,"watchers_count":1597,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":242,"mirror_url":null,"open_issues_count":148,"forks":242,"open_issues":148,"watchers":1597,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727"},"html":{"href":"https://github.com/arrayfire/arrayfire/pull/1727"},"issue":{"href":"https://api.github.com/repos/arrayfire/arrayfire/issues/1727"},"comments":{"href":"https://api.github.com/repos/arrayfire/arrayfire/issues/1727/comments"},"review_comments":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727/comments"},"review_comment":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/arrayfire/arrayfire/pulls/1727/commits"},"statuses":{"href":"https://api.github.com/repos/arrayfire/arrayfire/statuses/fd6dd9b5cbc0f1a1938372ca61fc63bc48870c4e"}}}}
{"actor":{"display_login":"umar456"}}