{"action":"created","issue":{"url":"https://api.github.com/repos/CNugteren/CLTune/issues/47","repository_url":"https://api.github.com/repos/CNugteren/CLTune","labels_url":"https://api.github.com/repos/CNugteren/CLTune/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/CNugteren/CLTune/issues/47/comments","events_url":"https://api.github.com/repos/CNugteren/CLTune/issues/47/events","html_url":"https://github.com/CNugteren/CLTune/issues/47","id":196270693,"number":47,"title":"GEMM on input sizes that are not a power of 2","user":{"login":"ari-wwu","id":24634030,"avatar_url":"https://avatars.githubusercontent.com/u/24634030?v=3","gravatar_id":"","url":"https://api.github.com/users/ari-wwu","html_url":"https://github.com/ari-wwu","followers_url":"https://api.github.com/users/ari-wwu/followers","following_url":"https://api.github.com/users/ari-wwu/following{/other_user}","gists_url":"https://api.github.com/users/ari-wwu/gists{/gist_id}","starred_url":"https://api.github.com/users/ari-wwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ari-wwu/subscriptions","organizations_url":"https://api.github.com/users/ari-wwu/orgs","repos_url":"https://api.github.com/users/ari-wwu/repos","events_url":"https://api.github.com/users/ari-wwu/events{/privacy}","received_events_url":"https://api.github.com/users/ari-wwu/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-12-18T11:27:00Z","updated_at":"2016-12-18T17:17:21Z","closed_at":null,"body":"Hello together,\r\n\r\nperforming GEMM on input sizes that are not a power of 2 (e.g., matrices of the size 2000x2000) leads to errors:\r\n\r\n```\r\n[==========] Initializing on platform 0 device 0\r\n[==========] Device name: 'Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz' (OpenCL 1.2 AMD-APP (1912.5))\r\n\r\n[----------] Testing reference gemm_reference\r\n[ RUN      ] Running gemm_reference\r\n[       OK ] Completed gemm_reference (10915.9 ms) - 1 out of 1\r\n\r\n[----------] Testing kernel gemm_fast\r\n[ RUN      ] Running gemm_fast\r\n[   FAILED ] Kernel gemm_fast failed\r\n[   FAILED ]   catched exception: Internal OpenCL error: -54\r\n[  WARNING ] Results differ: L2 norm is 1.90e+08\r\n[   FAILED ] gemm_fast;      0.0 ms;  MWG 128;  NWG 128;   KWG 32; MDIMC 32;  NDIMC 8; MDIMA 32; NDIMB 16;    KWI 8;    VWM 1;    VWN 1;   STRM 1;   STRN 0;     SA 1;     SB 1;PRECISION 32;\r\n[ RUN      ] Running gemm_fast\r\n[   FAILED ] Kernel gemm_fast failed\r\n[   FAILED ]   catched exception: Internal OpenCL error: -54\r\n[  WARNING ] Results differ: L2 norm is 1.90e+08\r\n[   FAILED ] gemm_fast;      0.0 ms;  MWG 128;   NWG 64;   KWG 32; MDIMC 32; NDIMC 16; MDIMA 32; NDIMB 16;    KWI 8;    VWM 1;    VWN 4;   STRM 1;   STRN 0;     SA 1;     SB 1;PRECISION 32;\r\n[ RUN      ] Running gemm_fast\r\n[   FAILED ] Kernel gemm_fast failed\r\n[   FAILED ]   catched exception: Internal OpenCL error: -54\r\n[  WARNING ] Results differ: L2 norm is 1.90e+08\r\n[   FAILED ] gemm_fast;      0.0 ms;  MWG 128;   NWG 64;   KWG 32; MDIMC 32; NDIMC 16; MDIMA 32; NDIMB 32;    KWI 8;    VWM 1;    VWN 2;   STRM 1;   STRN 0;     SA 0;     SB 1;PRECISION 32;\r\n```\r\n\r\nDoes someone now how to fix it (without using approaches such as padding etc.)?"},"comment":{"url":"https://api.github.com/repos/CNugteren/CLTune/issues/comments/267833594","html_url":"https://github.com/CNugteren/CLTune/issues/47#issuecomment-267833594","issue_url":"https://api.github.com/repos/CNugteren/CLTune/issues/47","id":267833594,"user":{"login":"ari-wwu","id":24634030,"avatar_url":"https://avatars.githubusercontent.com/u/24634030?v=3","gravatar_id":"","url":"https://api.github.com/users/ari-wwu","html_url":"https://github.com/ari-wwu","followers_url":"https://api.github.com/users/ari-wwu/followers","following_url":"https://api.github.com/users/ari-wwu/following{/other_user}","gists_url":"https://api.github.com/users/ari-wwu/gists{/gist_id}","starred_url":"https://api.github.com/users/ari-wwu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ari-wwu/subscriptions","organizations_url":"https://api.github.com/users/ari-wwu/orgs","repos_url":"https://api.github.com/users/ari-wwu/repos","events_url":"https://api.github.com/users/ari-wwu/events{/privacy}","received_events_url":"https://api.github.com/users/ari-wwu/received_events","type":"User","site_admin":false},"created_at":"2016-12-18T17:17:21Z","updated_at":"2016-12-18T17:17:21Z","body":"Yes, I am referring to the GEMM example included as part of the CLTune repository.\r\n\r\nI am currently also working on an auto-tuning tool and want to compare my results with those of the CLTune library.\r\n\r\nWithout having analyzed the GEMM Kernel, I can imagine that when generalizing the tuning parameters' definitions to\r\n\r\n  tuner.AddParameter(id, \"MWG\", { 1, ..., kSizeM } );  // here, \"{ 1, ..., kSizeM }\" is a pseudo code notation for the set of integers from 1 to kSizeM\r\n  tuner.AddParameter(id, \"NWG\", { 1, ..., kSizeN } );\r\n  tuner.AddParameter(id, \"KWG\", { 1, ..., kSizeK } );\r\n  tuner.AddParameter(id, \"MDIMC\", { 1, ..., kSizeM } );\r\n  tuner.AddParameter(id, \"NDIMC\", { 1, ..., kSizeN } );\r\n  tuner.AddParameter(id, \"MDIMA\", { 1, ..., kSizeM } );\r\n  tuner.AddParameter(id, \"NDIMB\", { 1, ..., kSizeN } );\r\n  tuner.AddParameter(id, \"KWI\", { 1, ..., kSizeK } );\r\n  tuner.AddParameter(id, \"VWM\", { 1, ..., kSizeM } );\r\n  tuner.AddParameter(id, \"VWN\", { 1, ..., kSizeN } );\r\n  tuner.AddParameter(id, \"STRM\", {0, 1});\r\n  tuner.AddParameter(id, \"STRN\", {0, 1});\r\n  tuner.AddParameter(id, \"SA\", {0, 1});\r\n  tuner.AddParameter(id, \"SB\", {0, 1});\r\n  \r\n  \r\nthe GEMM kernel can be tuned for arbitrary-sized input matrices -- is that correct? If not, can you help to adapt the tuning parameters' definitions to reach the goal (probably also by using a pseudo code notation as above)? That would be great."}}
{"actor":{"display_login":"ari-wwu"}}