{"action":"created","issue":{"url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/48","labels_url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/48/labels{/name}","comments_url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/48/comments","events_url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/48/events","html_url":"https://github.com/clMathLibraries/clSPARSE/issues/48","id":83395846,"number":48,"title":"From clsparse<Vector><Scalar>Private to clsparse::vector<T>","user":{"login":"jpola","id":1247671,"avatar_url":"https://avatars.githubusercontent.com/u/1247671?v=3","gravatar_id":"","url":"https://api.github.com/users/jpola","html_url":"https://github.com/jpola","followers_url":"https://api.github.com/users/jpola/followers","following_url":"https://api.github.com/users/jpola/following{/other_user}","gists_url":"https://api.github.com/users/jpola/gists{/gist_id}","starred_url":"https://api.github.com/users/jpola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpola/subscriptions","organizations_url":"https://api.github.com/users/jpola/orgs","repos_url":"https://api.github.com/users/jpola/repos","events_url":"https://api.github.com/users/jpola/events{/privacy}","received_events_url":"https://api.github.com/users/jpola/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/clMathLibraries/clSPARSE/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/clMathLibraries/clSPARSE/labels/help%20wanted","name":"help wanted","color":"159818"},{"url":"https://api.github.com/repos/clMathLibraries/clSPARSE/labels/question","name":"question","color":"cc317c"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-01T08:59:17Z","updated_at":"2015-09-01T20:17:54Z","closed_at":"2015-09-01T20:17:54Z","body":"Hi,\r\ncurrently I'm working on clsparse::vector class which might help us to simplify the code and hide differences between cl1.2 and cl2.0 implementations. I would like to know your opinion about the idea of substituting *Private structures with the clsparse::vector class. If we will have clsparse::vector I don't see the need for the *Private classes to exists. If we want to keep both structures, for all algorithm I will have to write proper specialisations which actually will differ in very little details like passing buffer to kernel. I would like to avoid this unnecessary duplication. The clsparse::vector class is very simple now but is enough, in my opinion, to substitute *Private structures.\r\n\r\npros: \r\n- unify the code,\r\n- unify the way to pass the buffers to kernels,\r\n- manages memory for internal buffers.\r\n- clsparse::vector == clsparseVectorPrivate\r\n- clsparse::vector[1] == clsprseScalarPrivate\r\n- easy to use\r\n- hides the cl1.2 and cl2.0 differences.\r\n- good base line to extend this class for other algorithm requirements (iterators)\r\n\r\ncons: \r\n- don't know yet if that will interfere with the C interface. I think it will not for the moment.\r\n- not quite an issue but a all algorithms need to be refractored.\r\n\r\nWhat is your opinion?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/comments/136848482","html_url":"https://github.com/clMathLibraries/clSPARSE/issues/48#issuecomment-136848482","issue_url":"https://api.github.com/repos/clMathLibraries/clSPARSE/issues/48","id":136848482,"user":{"login":"jpola","id":1247671,"avatar_url":"https://avatars.githubusercontent.com/u/1247671?v=3","gravatar_id":"","url":"https://api.github.com/users/jpola","html_url":"https://github.com/jpola","followers_url":"https://api.github.com/users/jpola/followers","following_url":"https://api.github.com/users/jpola/following{/other_user}","gists_url":"https://api.github.com/users/jpola/gists{/gist_id}","starred_url":"https://api.github.com/users/jpola/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpola/subscriptions","organizations_url":"https://api.github.com/users/jpola/orgs","repos_url":"https://api.github.com/users/jpola/repos","events_url":"https://api.github.com/users/jpola/events{/privacy}","received_events_url":"https://api.github.com/users/jpola/received_events","type":"User","site_admin":false},"created_at":"2015-09-01T20:17:54Z","updated_at":"2015-09-01T20:17:54Z","body":"The clsparse::vector and array are already present in the code. In every iteration I see the progress where the clsparse::vector is overtaking the *Private concept."}}