You can subscribe to this list here.
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(8) |
Jul
(16) |
Aug
(6) |
Sep
|
Oct
|
Nov
|
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2011 |
Jan
(4) |
Feb
(3) |
Mar
(5) |
Apr
|
May
(24) |
Jun
|
Jul
(5) |
Aug
(17) |
Sep
|
Oct
(6) |
Nov
(9) |
Dec
(8) |
2012 |
Jan
(5) |
Feb
(14) |
Mar
(25) |
Apr
(7) |
May
(15) |
Jun
(12) |
Jul
(22) |
Aug
(4) |
Sep
(10) |
Oct
(10) |
Nov
(19) |
Dec
(17) |
2013 |
Jan
(8) |
Feb
(10) |
Mar
(16) |
Apr
(3) |
May
(16) |
Jun
(26) |
Jul
|
Aug
(9) |
Sep
|
Oct
(8) |
Nov
(17) |
Dec
(2) |
2014 |
Jan
(37) |
Feb
(15) |
Mar
(6) |
Apr
(9) |
May
(11) |
Jun
(11) |
Jul
(9) |
Aug
(9) |
Sep
(19) |
Oct
(4) |
Nov
(22) |
Dec
(21) |
2015 |
Jan
|
Feb
(7) |
Mar
(2) |
Apr
(17) |
May
(22) |
Jun
(11) |
Jul
(11) |
Aug
(6) |
Sep
(7) |
Oct
|
Nov
(5) |
Dec
|
2016 |
Jan
(1) |
Feb
(3) |
Mar
(4) |
Apr
(8) |
May
(8) |
Jun
(11) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2017 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(19) |
May
|
Jun
(7) |
Jul
(7) |
Aug
(2) |
Sep
(6) |
Oct
|
Nov
(3) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(2) |
Dec
|
2019 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2020 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
|
Nov
(31) |
Dec
(4) |
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Emir S. <emi...@gm...> - 2019-12-03 12:36:04
|
esteemed, trying to install the gpuR package I came across the following error: *ViennaCL: FATAL ERROR: ViennaCL encountered an unknown OpenCL error. Most likely your OpenCL SDK or driver is not installed properly. In some cases, this error is due to an invalid global work size or several kernel compilation errors.If you think that this is a bug in ViennaCL, please report it at vie...@li... <vie...@li...> and supply at least the following information: * Operating System * Which OpenCL implementation (AMD, NVIDIA, etc.) * ViennaCL version* Operating System: Windows 10 Pro OpenCL: NVIDIA - model Geforce GTX 1050 Ti ViennaCL: Not found tks, Emir Smaka |
From: Sumit N. <sum...@gm...> - 2019-03-29 05:02:31
|
Hello Karli, Here is a problem I am facing: I have an expression (X - y*c') .^2.rowwise().sum() (in Eigen notation) X is a row-major matrix with rows >> cols I have initialized all data using the process given in custom_context.cpp. This is the code that pertains to viennacl. `viennacl::matrix<ScalarType, viennacl::row_major> vcl_X(bufPoints(), temp.rows(), temp.cols());` `viennacl::vector<ScalarType> vcl_Ones(bufOnes(), temp.rows());` `viennacl::vector<ScalarType> vcl_Ones2(testOnes(), cols);` `viennacl::vector<ScalarType> currCluster(testPoint(),cols);` `viennacl::vector<ScalarType> vcl_s1 = (viennacl::linalg::prod(viennacl::linalg::element_pow((vcl_X - viennacl::linalg::outer_prod(vcl_Ones, currCluster)),2.0),vcl_Ones2));` The time taken to execute this operation is : 1.54 (data size 1936*1216 rows and 3 columns) The time that I have shown is excluding the data offload time to GPU. Now, if I implement the same operation using Eigen on the CPU (without any optimization) the time reported in 0.04754! The results obtained by both processes are the same. So what could be wrong here? Am I missing out something here? Sumit |
From: 全京先 <qua...@ne...> - 2019-01-11 02:33:38
|
<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> </head> <body> <style> font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; } </style> <div style = 'font-family:微软雅黑,Verdana,"Microsoft Yahei",SimSun,sans-serif; line-height:1.6;'> <div ></div><div> <div> <span>Hi! </span></div><div><span>I am wondering how to construct ViennaCL project using CMake and what version of CMake is needed.</span></div><div>I've downloaded your ViennaCL 1.7.1.zip and tried to install with CMake 3.13.2 and 2.8, but all failed.</div><div>Error message is as follows:"Error in configuration process,project files may be invalid"</div><div>As a compiler, i used VS ultimate version 2010.</div><div>Is the step you described correct or not?</div><div>Could you teach me in detail?</div><div>I have little experience in VS, but i could never get it.</div><div>Thank you in advance.</div><div><br></div><div>Regards.</div><div><br></div> <div><span> </span> </div> <div id="ntes-pcmac-signature" style="font-family:'微软雅黑'"> <div style="font-size:14px; padding: 0; margin:0;line-height:14px;"> <div style="padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid #e6e6e6;display:inline-block;"> <a href="https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=quanjx046&uid=quanjx046%40nenu.edu.cn&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22quanjx046%40nenu.edu.cn%22%5D&logoUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyeicon%2F470ffd4f08cedb049b92f1d08882a94e.png" style="display:block;background:#fff; max-width: 400px; _width: 400px;padding:15px 0 10px 0;text-decoration: none; outline:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <table cellpadding="0" style="width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse;color: #9b9ea1;font-size: 14px;line-height:1.3;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <tbody style="font-family: 'PingFang SC', 'Hiragino Sans GB','WenQuanYi Micro Hei', 'Microsoft Yahei', '微软雅黑', verdana !important; word-wrap:break-word; word-break:break-all;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <tr class="firstRow"> <td width="38" style="padding:0; box-sizing: border-box; width: 38px;"> <img width="38" height="38" style="vertical-align:middle; width: 38px; height: 38px; border-radius:50%;" src="https://mail-online.nosdn.127.net/qiyelogo/defaultAvatar.png"> </td> <td style="padding: 0 30px 0 10px; color: #31353b;"> <div style="font-size: 16px;font-weight:bold; width:100%; white-space: nowrap; overflow:hidden;text-overflow: ellipsis;">quanjx046</div> </td> <td width="72" style="text-align:right; width: 72px;"> <img width="72" height="20" style="width: 72px; height: 20px;" src="https://mail-online.nosdn.127.net/qiyelogo/470ffd4f08cedb049b92f1d08882a94e.png"> </td> </tr> <tr width="100%" style="font-size: 14px !important; width: 100%;"> <td colspan="3" style="padding:10px 0 0 0; font-size:14px !important; width: 100%;"> <div style="width: 100%;font-size: 14px !important;word-wrap:break-word;word-break:break-all;">qua...@ne...</div> </td> </tr> </tbody> </table> </a> </div> </div> <div style="font-size:12px;color:#b5b9bd;line-height:18px;"> <span>签名由</span> <a style="text-decoration: none;color:#4196ff;padding:0 5px;" href="https://mail.163.com/dashi/dlpro.html?from=mail81">网易邮箱大师</a> <span>定制</span> </div> </div> </div><!--😀--> </div> </body> </html> |
From: 全京先 <qua...@ne...> - 2019-01-11 02:33:13
|
<html> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'> </head> <body> <style> font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; } </style> <div style = 'font-family:微软雅黑,Verdana,"Microsoft Yahei",SimSun,sans-serif; line-height:1.6;'> <div ></div> <style> font{ line-height: 1.6; } ul,ol{ padding-left: 20px; list-style-position: inside; } </style> <div style="font-family:微软雅黑,Verdana,"Microsoft Yahei",SimSun,sans-serif; line-height:1.6;"> <div></div><div> <div> <span>Hi! </span></div><div><span>I am wondering how to construct ViennaCL project using CMake and what version of CMake is needed.</span></div><div>I've downloaded your ViennaCL 1.7.1.zip and tried to install with CMake 3.13.2 and 2.8, but all failed.</div><div>Error message is as follows:"Error in configuration process,project files may be invalid"</div><div>As a compiler, i used VS ultimate version 2010.</div><div>Is the step you described correct or not?</div><div>Could you teach me in detail?</div><div>I have little experience in VS, but i could never get it.</div><div>Thank you in advance.</div><div><br></div><div>Regards.</div><div><br></div> <div><span> </span> </div> <div id="ntes-pcmac-signature" style="font-family:'微软雅黑'"> <div style="font-size:14px; padding: 0; margin:0;line-height:14px;"> <div style="padding-bottom:6px;margin-bottom:10px;border-bottom:1px solid #e6e6e6;display:inline-block;"> <a href="https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=quanjx046&uid=quanjx046%40nenu.edu.cn&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22quanjx046%40nenu.edu.cn%22%5D&logoUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyeicon%2F470ffd4f08cedb049b92f1d08882a94e.png" style="display:block;background:#fff; max-width: 400px; _width: 400px;padding:15px 0 10px 0;text-decoration: none; outline:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <table cellpadding="0" style="width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse;color: #9b9ea1;font-size: 14px;line-height:1.3;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <tbody style="font-family: 'PingFang SC', 'Hiragino Sans GB','WenQuanYi Micro Hei', 'Microsoft Yahei', '微软雅黑', verdana !important; word-wrap:break-word; word-break:break-all;-webkit-text-size-adjust:none !important;text-size-adjust:none !important;"> <tr class="firstRow"> <td width="38" style="padding:0; box-sizing: border-box; width: 38px;"> <img width="38" height="38" style="vertical-align:middle; width: 38px; height: 38px; border-radius:50%;" src="https://mail-online.nosdn.127.net/qiyelogo/defaultAvatar.png"> </td> <td style="padding: 0 30px 0 10px; color: #31353b;"> <div style="font-size: 16px;font-weight:bold; width:100%; white-space: nowrap; overflow:hidden;text-overflow: ellipsis;">quanjx046</div> </td> <td width="72" style="text-align:right; width: 72px;"> <img width="72" height="20" style="width: 72px; height: 20px;" src="https://mail-online.nosdn.127.net/qiyelogo/470ffd4f08cedb049b92f1d08882a94e.png"> </td> </tr> <tr width="100%" style="font-size: 14px !important; width: 100%;"> <td colspan="3" style="padding:10px 0 0 0; font-size:14px !important; width: 100%;"> <div style="width: 100%;font-size: 14px !important;word-wrap:break-word;word-break:break-all;">qua...@ne...</div> </td> </tr> </tbody> </table> </a> </div> </div> <div style="font-size:12px;color:#b5b9bd;line-height:18px;"> <span>签名由</span> <a style="text-decoration: none;color:#4196ff;padding:0 5px;" href="https://mail.163.com/dashi/dlpro.html?from=mail81">网易邮箱大师</a> <span>定制</span> </div> </div> </div><!--😀--> </div><!--😀--> </div> </body> </html> |
From: Karl R. <ru...@iu...> - 2018-11-28 08:31:36
|
Hi, can you please provide the full error message? Have you verified proper installation of the NVIDIA driver? Are you able to run other OpenCL programs (e.g. cl-info)? Best regards, Karli On 11/28/18 9:03 AM, 何月 wrote: > Hello,I'm so glad that you can see this message. I am using clCaffe > on Ubuntu 16.04 LTS,and I installed the NVIDIA of OpenCL,in addition ,I > was download the viennacl form https://github.com/viennacl/viennacl-dev. > <https://github.com/viennacl/viennacl-dev.when> > But when I running the command of "|build/tools/caffe-fp16.bin test > -model models/yolo/yolo416/yolo_fused_test.prototxt -phase TEST > -iterations 1000000 -weights models/yolo/yolo416/fused_yolo.caffemodel > -gpu 0|"to process a video,i got this error"terminate called after > throwing an instance of 'viennacl::ocl::invalid_program_executable' > what(): ViennaCL: FATAL ERROR: CL_INVALID_PROGRAM_EXECUTABLE.".I don't > know how to solve this problem,please you give me some advices,think you. > > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support > |
From: 何月 <hey...@16...> - 2018-11-28 08:03:37
|
Hello,I'm so glad that you can see this message. I am using clCaffe on Ubuntu 16.04 LTS,and I installed the NVIDIA of OpenCL,in addition ,I was download the viennacl form https://github.com/viennacl/viennacl-dev. But when I running the command of "build/tools/caffe-fp16.bin test -model models/yolo/yolo416/yolo_fused_test.prototxt -phase TEST -iterations 1000000 -weights models/yolo/yolo416/fused_yolo.caffemodel -gpu 0"to process a video,i got this error"terminate called after throwing an instance of 'viennacl::ocl::invalid_program_executable' what(): ViennaCL: FATAL ERROR: CL_INVALID_PROGRAM_EXECUTABLE.".I don't know how to solve this problem,please you give me some advices,think you. |
From: Karl R. <ru...@iu...> - 2018-09-26 04:52:12
|
Hi Ben, this is not a known issue. While I've verified that things "work" on Windows, I certainly haven't taken all possible system variations into account. The particular error message you've sent seems to be a Python-internal hiccup: c:\users\benxa\appdata\local\programs\python\python37\include\pyport.h(6) : > fatal error C1083: Cannot open include file: 'inttypes.h': No such file > or directory inttypes.h is a C99 header. I don't know whether this is a bug in the Python sources, or whether this is a bad configuration that incorrectly picks up the C99-path. Any chance that you can try an older Python environment, maybe even 2.7? (Unfortunately I don't remember whether I've build for Python 2 or Python 3 on Windows) Best regards, Karli On 09/25/2018 10:47 PM, Ben Xavier wrote: > Hi, > > I am having issues installing PyViennaCl and wondered if the error > encountered below was a common issue that you knew how to resolve. Any > help at all would be much appreciated. I hope so because I am very > excited at the prospect of using it with numpy. > > I have installed the Windows 7 SDK as per guidance PyPI guidance, and > also uninstalled VS2017 and installed VS2013 as it appeared that this > version of the c++ compiler was supported by PyViennaCL. Still no > banana. You may have guessed that I am not familiar with compiling C++ code… > > Many thanks in advance. > > Best regards, > > Ben Xavier > > Installing collected packages: pyviennacl > > Running setup.py install for pyviennacl ... error > > Complete output from command > c:\Users\benxa\AppData\Local\Programs\Python\Python37\python.exe -u -c > "import setuptools, > tokenize;__file__='C:\\Users\\benxa\\AppData\\Local\\Temp\\pip-install-og9fkw5z\\pyviennacl\\setup.py';f=getattr(tokenize, > 'open', open)(__file__);code=f.read().replace('\r\n', > '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record > C:\Users\benxa\AppData\Local\Temp\pip-record-20djqzgz\install-record.txt > --single-version-externally-managed --compile: > > running install > > running build > > running build_py > > creating build > > creating build\lib.win-amd64-3.7 > > creating build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\linalg.py -> build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\pycore.py -> build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\util.py -> build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\vclmath.py -> build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\version.py -> build\lib.win-amd64-3.7\pyviennacl > > copying pyviennacl\__init__.py -> build\lib.win-amd64-3.7\pyviennacl > > running build_ext > > building '_viennacl' extension > > creating build\temp.win-amd64-3.7 > > creating build\temp.win-amd64-3.7\Release > > creating build\temp.win-amd64-3.7\Release\src > > creating build\temp.win-amd64-3.7\Release\src\_viennacl > > creating build\temp.win-amd64-3.7\Release\external > > creating build\temp.win-amd64-3.7\Release\external\boost_numpy > > creating build\temp.win-amd64-3.7\Release\external\boost_numpy\libs > > creating > build\temp.win-amd64-3.7\Release\external\boost_numpy\libs\numpy > > creating > build\temp.win-amd64-3.7\Release\external\boost_numpy\libs\numpy\src > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src\converter > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src\object > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\smart_ptr > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\smart_ptr\src > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\system > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\system\src > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread\src > > creating > build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread\src\win32 > > C:\Program Files (x86)\Microsoft Visual Studio > 10.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT > -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1 > -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION=1 -DBOOST_PYTHON_SOURCE=1 > -Dboost=pyviennaclboost -DBOOST_CHRONO_HEADER_ONLY=1 > -DVIENNACL_WITH_OPENCL -DVIENNACL_WITH_UBLAS > -Iexternal/boost-python-ublas-subset/boost_subset > -Iexternal/boost_numpy/ -Iexternal/viennacl-dev/ > -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\core\include > -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\core\include > -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\include > -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\include > "-IC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" > "-IC:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE" "-IC:\Program > Files\Microsoft SDKs\Windows\v7.1\INCLUDE\gl" /EHsc > /Tpsrc\_viennacl\core.cpp > /Fobuild\temp.win-amd64-3.7\Release\src\_viennacl\core.obj /EHsc > > core.cpp > > > c:\users\benxa\appdata\local\programs\python\python37\include\pyport.h(6) : > fatal error C1083: Cannot open include file: 'inttypes.h': No such file > or directory > > error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio > 10.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2 > > > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support > |
From: Ben X. <ben...@ou...> - 2018-09-25 20:47:46
|
Hi, I am having issues installing PyViennaCl and wondered if the error encountered below was a common issue that you knew how to resolve. Any help at all would be much appreciated. I hope so because I am very excited at the prospect of using it with numpy. I have installed the Windows 7 SDK as per guidance PyPI guidance, and also uninstalled VS2017 and installed VS2013 as it appeared that this version of the c++ compiler was supported by PyViennaCL. Still no banana. You may have guessed that I am not familiar with compiling C++ code... Many thanks in advance. Best regards, Ben Xavier Installing collected packages: pyviennacl Running setup.py install for pyviennacl ... error Complete output from command c:\Users\benxa\AppData\Local\Programs\Python\Python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\benxa\\AppData\\Local\\Temp\\pip-install-og9fkw5z\\pyviennacl\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\benxa\AppData\Local\Temp\pip-record-20djqzgz\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-3.7 creating build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\linalg.py -> build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\pycore.py -> build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\util.py -> build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\vclmath.py -> build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\version.py -> build\lib.win-amd64-3.7\pyviennacl copying pyviennacl\__init__.py -> build\lib.win-amd64-3.7\pyviennacl running build_ext building '_viennacl' extension creating build\temp.win-amd64-3.7 creating build\temp.win-amd64-3.7\Release creating build\temp.win-amd64-3.7\Release\src creating build\temp.win-amd64-3.7\Release\src\_viennacl creating build\temp.win-amd64-3.7\Release\external creating build\temp.win-amd64-3.7\Release\external\boost_numpy creating build\temp.win-amd64-3.7\Release\external\boost_numpy\libs creating build\temp.win-amd64-3.7\Release\external\boost_numpy\libs\numpy creating build\temp.win-amd64-3.7\Release\external\boost_numpy\libs\numpy\src creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src\converter creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\python\src\object creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\smart_ptr creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\smart_ptr\src creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\system creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\system\src creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread\src creating build\temp.win-amd64-3.7\Release\external\boost-python-ublas-subset\boost_subset\libs\thread\src\win32 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION=1 -DBOOST_PYTHON_SOURCE=1 -Dboost=pyviennaclboost -DBOOST_CHRONO_HEADER_ONLY=1 -DVIENNACL_WITH_OPENCL -DVIENNACL_WITH_UBLAS -Iexternal/boost-python-ublas-subset/boost_subset -Iexternal/boost_numpy/ -Iexternal/viennacl-dev/ -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\core\include -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\core\include -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\include -Ic:\Users\benxa\AppData\Local\Programs\Python\Python37\include "-IC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE" "-IC:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE" "-IC:\Program Files\Microsoft SDKs\Windows\v7.1\INCLUDE\gl" /EHsc /Tpsrc\_viennacl\core.cpp /Fobuild\temp.win-amd64-3.7\Release\src\_viennacl\core.obj /EHsc core.cpp c:\users\benxa\appdata\local\programs\python\python37\include\pyport.h(6) : fatal error C1083: Cannot open include file: 'inttypes.h': No such file or directory error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2 |
From: Karl R. <ru...@iu...> - 2018-09-04 04:44:40
|
Hi Fabian, as the error message says, this looks a lot like the GPU running out of memory. Even though the GTX 560 reports 1 GB of GPU RAM, some of that is consumed by the OS. Your matrices of size 7024 require about 7*7*sizeof(double) = 392 MB of memory each; this is too much (you can allocate at most 256 MB in a single buffer for this device). Best regards, Karli On 09/03/2018 11:33 AM, Fabian Santos wrote: > Dear Developers, > > > First, thanks for this promising package. I am wondering about an error > runnning the example script: > > > library("gpuR") > ORDER = 7024 # note that I increased the size to match my typical > working data > A = matrix(rnorm(ORDER^2), nrow=ORDER) > B = matrix(rnorm(ORDER^2), nrow=ORDER) > gpuA = gpuMatrix(A, type="double") > gpuB = gpuMatrix(B, type="double") > gpuC = gpuA %*% gpuB > > > then the error happened: > > > ViennaCL: FATAL ERROR: Kernel start failed for 'assign_cpu'. > ViennaCL: Smaller work sizes could not solve the problem. > Error in cpp_gpuMatrix_gemm(A@address, B@address, C@address, 8L) : > ViennaCL: FATAL ERROR: CL_MEM_OBJECT_ALLOCATION_FAILURE > ViennaCL could not allocate memory on the device. Most likely the > device simply ran out of memory. > If you think that this is a bug in ViennaCL, please report it at > vie...@li... and supply at least the following > information: > * Operating System > * Which OpenCL implementation (AMD, NVIDIA, etc.) > * ViennaCL version > Many thanks in advance! > Timing stopped at: 1.67 1.34 3.06 > > My system info is the next: > > > R version 3.4.3 (2017-11-30) > Platform: x86_64-w64-mingw32/x64 (64-bit) > Running under: Windows 7 x64 (build 7601) Service Pack 1 > > Matrix products: default > > locale: > [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 > LC_MONETARY=German_Germany.1252 > [4] LC_NUMERIC=C LC_TIME=German_Germany.1252 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > other attached packages: > [1] gpuR_2.0.0 > > loaded via a namespace (and not attached): > [1] Rcpp_0.12.17 assertive.sets_0.0-3 > codetools_0.2-15 > [4] assertive.data.us_0.0-1 assertive.types_0.0-3 > assertive.properties_0.0-4 > [7] assertive.base_0.0-7 assertive.models_0.0-1 > assertive.code_0.0-1 > [10] stringi_1.1.7 assertive.strings_0.0-3 > assertive.matrices_0.0-1 > [13] assertive.reflection_0.0-4 assertive.data_0.0-1 assertive_0.3-5 > [16] assertive.datetimes_0.0-2 tools_3.4.3 > assertive.numbers_0.0-2 > [19] compiler_3.4.3 assertive.files_0.0-2 > assertive.data.uk_0.0-1 > [22] knitr_1.17 > > and nvidia information is the next: > > $deviceName > [1] "GeForce GTX 560 Ti" > > $deviceVendor > [1] "NVIDIA Corporation" > > $numberOfCores > [1] 8 > > $maxWorkGroupSize > [1] 1024 > > $maxWorkItemDim > [1] 3 > > $maxWorkItemSizes > [1] 1024 1024 64 > > $deviceMemory > [1] 1073741824 > > $clockFreq > [1] 1670 > > $localMem > [1] 49152 > > $maxAllocatableMem > [1] 268435456 > > $available > [1] "yes" > > $deviceExtensions > [1] "cl_khr_global_int32_base_atomics" > "cl_khr_global_int32_extended_atomics" > [3] "cl_khr_local_int32_base_atomics" > "cl_khr_local_int32_extended_atomics" > [5] "cl_khr_fp64" > "cl_khr_byte_addressable_store" > [7] "cl_khr_icd" "cl_khr_gl_sharing" > [9] "cl_nv_compiler_options" "cl_nv_device_attribute_query" > [11] "cl_nv_pragma_unroll" "cl_nv_d3d9_sharing" > [13] "cl_nv_d3d10_sharing" "cl_khr_d3d10_sharing" > [15] "cl_nv_d3d11_sharing" "cl_nv_copy_opts" > [17] "cl_nv_create_buffer" > > $double_support > [1] TRUE > > Finally, I am wondering if exist some documentation that decribe a > method for implement a function and apply it row wise in a large matrix. > > > Many thanks in advance. > > > Best regards, > > Fabián Santos > Ph.d Researcher > Center for Remote Sensing of Land Surfaces (ZFL) > University of Bonn > Genscheralle 3 > D-53113 Bonn > > Phone: +49 (0)228/73 4925 > Fax: +49 (0) 228-736857 > > Web page:http://www.zfl.uni-bonn.de/ > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support > |
From: Fabian S. <Fab...@ho...> - 2018-09-03 09:33:35
|
Dear Developers, First, thanks for this promising package. I am wondering about an error runnning the example script: library("gpuR") ORDER = 7024 # note that I increased the size to match my typical working data A = matrix(rnorm(ORDER^2), nrow=ORDER) B = matrix(rnorm(ORDER^2), nrow=ORDER) gpuA = gpuMatrix(A, type="double") gpuB = gpuMatrix(B, type="double") gpuC = gpuA %*% gpuB then the error happened: ViennaCL: FATAL ERROR: Kernel start failed for 'assign_cpu'. ViennaCL: Smaller work sizes could not solve the problem. Error in cpp_gpuMatrix_gemm(A@address, B@address, C@address, 8L) : ViennaCL: FATAL ERROR: CL_MEM_OBJECT_ALLOCATION_FAILURE ViennaCL could not allocate memory on the device. Most likely the device simply ran out of memory. If you think that this is a bug in ViennaCL, please report it at vie...@li... and supply at least the following information: * Operating System * Which OpenCL implementation (AMD, NVIDIA, etc.) * ViennaCL version Many thanks in advance! Timing stopped at: 1.67 1.34 3.06 My system info is the next: R version 3.4.3 (2017-11-30) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 7 x64 (build 7601) Service Pack 1 Matrix products: default locale: [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 [4] LC_NUMERIC=C LC_TIME=German_Germany.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] gpuR_2.0.0 loaded via a namespace (and not attached): [1] Rcpp_0.12.17 assertive.sets_0.0-3 codetools_0.2-15 [4] assertive.data.us_0.0-1 assertive.types_0.0-3 assertive.properties_0.0-4 [7] assertive.base_0.0-7 assertive.models_0.0-1 assertive.code_0.0-1 [10] stringi_1.1.7 assertive.strings_0.0-3 assertive.matrices_0.0-1 [13] assertive.reflection_0.0-4 assertive.data_0.0-1 assertive_0.3-5 [16] assertive.datetimes_0.0-2 tools_3.4.3 assertive.numbers_0.0-2 [19] compiler_3.4.3 assertive.files_0.0-2 assertive.data.uk_0.0-1 [22] knitr_1.17 and nvidia information is the next: $deviceName [1] "GeForce GTX 560 Ti" $deviceVendor [1] "NVIDIA Corporation" $numberOfCores [1] 8 $maxWorkGroupSize [1] 1024 $maxWorkItemDim [1] 3 $maxWorkItemSizes [1] 1024 1024 64 $deviceMemory [1] 1073741824 $clockFreq [1] 1670 $localMem [1] 49152 $maxAllocatableMem [1] 268435456 $available [1] "yes" $deviceExtensions [1] "cl_khr_global_int32_base_atomics" "cl_khr_global_int32_extended_atomics" [3] "cl_khr_local_int32_base_atomics" "cl_khr_local_int32_extended_atomics" [5] "cl_khr_fp64" "cl_khr_byte_addressable_store" [7] "cl_khr_icd" "cl_khr_gl_sharing" [9] "cl_nv_compiler_options" "cl_nv_device_attribute_query" [11] "cl_nv_pragma_unroll" "cl_nv_d3d9_sharing" [13] "cl_nv_d3d10_sharing" "cl_khr_d3d10_sharing" [15] "cl_nv_d3d11_sharing" "cl_nv_copy_opts" [17] "cl_nv_create_buffer" $double_support [1] TRUE Finally, I am wondering if exist some documentation that decribe a method for implement a function and apply it row wise in a large matrix. Many thanks in advance. Best regards, Fabián Santos Ph.d Researcher Center for Remote Sensing of Land Surfaces (ZFL) University of Bonn Genscheralle 3 D-53113 Bonn Phone: +49 (0)228/73 4925 Fax: +49 (0) 228-736857 Web page: http://www.zfl.uni-bonn.de/ |
From: Karl R. <ru...@iu...> - 2017-11-23 04:51:51
|
Hi Souhail, yes, this looks good. Please note that the Matlab interface of ViennaCL is fairly dated and uses a pretty old version of ViennaCL. You should benefit substantially from updating the ViennaCL sources to the latest version, yet there may be small changes required in the mex files. Best regards, Karli On 11/22/2017 04:43 PM, Souhail HAGGUI wrote: > Dear Sir, > > > I think I solve it, in fact the call to the set function should be done > as follow 😝 > > > vcl_matrix.set(&(stl_cols[0]), &(stl_rows[0]), entries, > static_cast<unsigned int>(num_cols), static_cast<unsigned > int>(cols[num_cols]), static_cast<unsigned int>(nnzmax)); > > > Do you agree ? > > > Best regards, > > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > *Souhail HAGGUI* > **Ph.D. student, GRESCOM Res.Lab > Engineering School of Communications of Tunis (Sup'Com) > University of Carthage - Web: www.supcom.mincom.tn > <http://www.supcom.mincom.tn> > mail:<mailto:bai...@gm...>_ha...@gm... > <mailto:bai...@gm...>_ / _so...@su... > <mailto:ami...@su...>_ > ------------------------------------------------------------------------ > *De :* Souhail HAGGUI > *Envoyé :* mercredi 22 novembre 2017 16:34:51 > *À :* vie...@li... > *Objet :* Matlab mex compilation problems > > Dear Sir, > > > I am intresseted to test the viennacl tool and I run it succefully with > my CUDA card gtx 760 and under Visual Studio 2015. However, when I tried > to mex the functions with Matlab. I was able to mes two function > succefully(viennacl_gmres.cpp and viennacl_bicgstab.cpp). However with > viennacl_cg.cpp I got the following error : > > > Error using mex > viennacl_cg.cpp > C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(45): warning C4267: '=': > conversion from 'size_t' to 'unsigned int', possible loss of data > C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(48): warning C4267: '=': > conversion from 'size_t' to 'unsigned int', possible loss of data > C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(51): error C2660: > 'viennacl::compressed_matrix<double,1>::set': function does not take 5 > arguments > > Can you help me please resolving this issue, because when I turned back > to the function "set" from compressed_matrix.hpp I found that it accepts > already until 6 parameters. > > Thank you in advance. > > Best regards, > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > *Souhail HAGGUI* > **Ph.D. student, GRESCOM Res.Lab > Engineering School of Communications of Tunis (Sup'Com) > University of Carthage - Web: www.supcom.mincom.tn > <http://www.supcom.mincom.tn> > mail:<mailto:bai...@gm...>_ha...@gm... > <mailto:bai...@gm...>_ / _so...@su... > <mailto:ami...@su...>_ > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support > |
From: Souhail H. <sou...@su...> - 2017-11-22 16:08:04
|
Dear Sir, I am intresseted to test the viennacl tool and I run it succefully with my CUDA card gtx 760 and under Visual Studio 2015. However, when I tried to mex the functions with Matlab. I was able to mes two function succefully ( viennacl_gmres.cpp and viennacl_bicgstab.cpp). However with viennacl_cg.cpp I got the following error : Error using mex viennacl_cg.cpp C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(45): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(48): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(51): error C2660: 'viennacl::compressed_matrix<double,1>::set': function does not take 5 arguments Can you help me please resolving this issue, because when I turned back to the function "set" from compressed_matrix.hpp I found that it accepts already until 6 parameters. Thank you in advance. Best regards, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Souhail HAGGUI Ph.D. student, GRESCOM Res.Lab Engineering School of Communications of Tunis (Sup'Com) University of Carthage - Web: www.supcom.mincom.tn<http://www.supcom.mincom.tn> mail:<mailto:bai...@gm...>hag...@gm...<mailto:bai...@gm...> / sou...@su...<mailto:ami...@su...> |
From: Souhail H. <sou...@su...> - 2017-11-22 15:58:45
|
Dear Sir, I think I solve it, in fact the call to the set function should be done as follow 😝 vcl_matrix.set(&(stl_cols[0]), &(stl_rows[0]), entries, static_cast<unsigned int>(num_cols), static_cast<unsigned int>(cols[num_cols]), static_cast<unsigned int>(nnzmax)); Do you agree ? Best regards, -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Souhail HAGGUI Ph.D. student, GRESCOM Res.Lab Engineering School of Communications of Tunis (Sup'Com) University of Carthage - Web: www.supcom.mincom.tn<http://www.supcom.mincom.tn> mail:<mailto:bai...@gm...>hag...@gm...<mailto:bai...@gm...> / sou...@su...<mailto:ami...@su...> ________________________________ De : Souhail HAGGUI Envoyé : mercredi 22 novembre 2017 16:34:51 À : vie...@li... Objet : Matlab mex compilation problems Dear Sir, I am intresseted to test the viennacl tool and I run it succefully with my CUDA card gtx 760 and under Visual Studio 2015. However, when I tried to mex the functions with Matlab. I was able to mes two function succefully ( viennacl_gmres.cpp and viennacl_bicgstab.cpp). However with viennacl_cg.cpp I got the following error : Error using mex viennacl_cg.cpp C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(45): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(48): warning C4267: '=': conversion from 'size_t' to 'unsigned int', possible loss of data C:\ViennaCL-1.7.1\matlab\viennacl_cg.cpp(51): error C2660: 'viennacl::compressed_matrix<double,1>::set': function does not take 5 arguments Can you help me please resolving this issue, because when I turned back to the function "set" from compressed_matrix.hpp I found that it accepts already until 6 parameters. Thank you in advance. Best regards, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Souhail HAGGUI Ph.D. student, GRESCOM Res.Lab Engineering School of Communications of Tunis (Sup'Com) University of Carthage - Web: www.supcom.mincom.tn<http://www.supcom.mincom.tn> mail:<mailto:bai...@gm...>hag...@gm...<mailto:bai...@gm...> / sou...@su...<mailto:ami...@su...> |
From: Chris M. <chr...@us...> - 2017-09-17 22:49:43
|
Hi Karl, Ok great thanks. Where in the docs should I have seen that that ctx would do the wrong thing? However, it's much better to build the full element array yourself and then > use a single memory_write(). If I am filling a host memory element array, is this still the case? On 17 September 2017 at 12:46, Karl Rupp <ru...@iu...> wrote: > Hi Chris, > > I am only just now getting around to implementing the faster access as per >> our previous emails >> https://sourceforge.net/p/viennacl/mailman/viennacl-support/ >> thread/CAFgDerGDDnBu2yFd4u2qXsrJvWHmCceNJu82hbG4+tzeRG5b3g@m >> ail.gmail.com/ <https://sourceforge.net/p/vie >> nnacl/mailman/viennacl-support/thread/CAFgDerGDDnBu2yFd4u2qX >> srJ...@ma.../> >> >> Does this look right? >> >> viennacl::context host_ctx(viennacl::MAIN_MEMORY); >> auto size = vl_C.nnz(); >> viennacl::copy(C,vl_C); // copy C -> vl_C, sets up the sparsity >> pattern >> // wrap: >> viennacl::vector_base<unsigned int> init_temporary(vl_C.handle(), >> viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), 0, 1); >> // write: >> init_temporary = viennacl::zero_vector<unsigned >> int>(viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), >> host_ctx); >> > > the `host_ctx` is not needed and will most likely do the wrong thing. > Instead, pass viennacl::traits::context(vl_C) to the constructor of > zero_vector. > > > Second, when I am writing to the element array to fill it on a per-row >> basis, what is the best way to do that? Ie, index into row N, then write >> let's say 5 non-zero elements. I can of course obtain the row offset from >> the CSR vectors. But how to I write to that offset? >> > > One way to write the entries per row is to use > viennacl::backend::memory_write() and pass the respective offsets. > However, it's much better to build the full element array yourself and then > use a single memory_write(). > > (The fastest way is to compute the entries in a backend-specific custom > kernel, but that is much more involved) > > Best regards, > Karli > > > > > > > On 15 September 2017 at 07:05, Karl Rupp <ru...@iu... <mailto: >> ru...@iu...>> wrote: >> >> Hi Chris, >> >> I would like to directly write to the CSR vector. Specifically, >> I would like to zero the element vector (in prep for a fill) >> *without* removing the sparsity pattern. >> >> Once I obtain the handle via A.handle(), what do I do with it? >> >> >> If you want to zero it right on the target device, then wrap it in a >> vector and write a zero vector to it. See here for an example: >> https://github.com/viennacl/viennacl-dev/blob/master/viennac >> l/compressed_matrix.hpp#L659 >> <https://github.com/viennacl/viennacl-dev/blob/master/vienna >> cl/compressed_matrix.hpp#L659> >> The relevant code: >> >> { >> // wrap: >> viennacl::vector_base<unsigned int> init_temporary(row_buffer_, >> size_type(rows+1), 0, 1); >> // write: >> init_temporary = viennacl::zero_vector<unsigned >> int>(size_type(rows+1), ctx); >> } >> >> The alternative is to use viennacl::backend::memory_write(), which >> in the case of GPUs involves the zeros to be sent via PCI-Express. >> >> Best regards, >> Karli >> >> >> |
From: Karl R. <ru...@iu...> - 2017-09-17 18:46:53
|
Hi Chris, > I am only just now getting around to implementing the faster access as > per our previous emails > https://sourceforge.net/p/viennacl/mailman/viennacl-support/thread/CAF...@ma.../ > <https://sourceforge.net/p/viennacl/mailman/viennacl-support/thread/CAF...@ma.../> > > Does this look right? > > viennacl::context host_ctx(viennacl::MAIN_MEMORY); > auto size = vl_C.nnz(); > viennacl::copy(C,vl_C); // copy C -> vl_C, sets up the sparsity pattern > // wrap: > viennacl::vector_base<unsigned int> init_temporary(vl_C.handle(), > viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), 0, 1); > // write: > init_temporary = viennacl::zero_vector<unsigned > int>(viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), > host_ctx); the `host_ctx` is not needed and will most likely do the wrong thing. Instead, pass viennacl::traits::context(vl_C) to the constructor of zero_vector. > Second, when I am writing to the element array to fill it on a per-row > basis, what is the best way to do that? Ie, index into row N, then write > let's say 5 non-zero elements. I can of course obtain the row offset > from the CSR vectors. But how to I write to that offset? One way to write the entries per row is to use viennacl::backend::memory_write() and pass the respective offsets. However, it's much better to build the full element array yourself and then use a single memory_write(). (The fastest way is to compute the entries in a backend-specific custom kernel, but that is much more involved) Best regards, Karli > On 15 September 2017 at 07:05, Karl Rupp <ru...@iu... > <mailto:ru...@iu...>> wrote: > > Hi Chris, > > I would like to directly write to the CSR vector. Specifically, > I would like to zero the element vector (in prep for a fill) > *without* removing the sparsity pattern. > > Once I obtain the handle via A.handle(), what do I do with it? > > > If you want to zero it right on the target device, then wrap it in a > vector and write a zero vector to it. See here for an example: > https://github.com/viennacl/viennacl-dev/blob/master/viennacl/compressed_matrix.hpp#L659 > <https://github.com/viennacl/viennacl-dev/blob/master/viennacl/compressed_matrix.hpp#L659> > The relevant code: > > { > // wrap: > viennacl::vector_base<unsigned int> init_temporary(row_buffer_, > size_type(rows+1), 0, 1); > // write: > init_temporary = viennacl::zero_vector<unsigned > int>(size_type(rows+1), ctx); > } > > The alternative is to use viennacl::backend::memory_write(), which > in the case of GPUs involves the zeros to be sent via PCI-Express. > > Best regards, > Karli > > |
From: Chris M. <chr...@us...> - 2017-09-17 18:13:50
|
Hi Karl, Thanks for the details. I am only just now getting around to implementing the faster access as per our previous emails https://sourceforge.net/p/viennacl/mailman/viennacl-support/ thread/CAF...@ma.../ Does this look right? viennacl::context host_ctx(viennacl::MAIN_MEMORY); auto size = vl_C.nnz(); viennacl::copy(C,vl_C); // copy C -> vl_C, sets up the sparsity pattern // wrap: viennacl::vector_base<unsigned int> init_temporary(vl_C.handle(), viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), 0, 1); // write: init_temporary = viennacl::zero_vector<unsigned int>(viennacl::compressed_matrix<vcl_scalar_type>::size_type(size+1), host_ctx); Second, when I am writing to the element array to fill it on a per-row basis, what is the best way to do that? Ie, index into row N, then write let's say 5 non-zero elements. I can of course obtain the row offset from the CSR vectors. But how to I write to that offset? Cheers Chris On 15 September 2017 at 07:05, Karl Rupp <ru...@iu...> wrote: > Hi Chris, > > I would like to directly write to the CSR vector. Specifically, I would >> like to zero the element vector (in prep for a fill) *without* removing the >> sparsity pattern. >> >> Once I obtain the handle via A.handle(), what do I do with it? >> > > If you want to zero it right on the target device, then wrap it in a > vector and write a zero vector to it. See here for an example: > https://github.com/viennacl/viennacl-dev/blob/master/viennac > l/compressed_matrix.hpp#L659 > The relevant code: > > { > // wrap: > viennacl::vector_base<unsigned int> init_temporary(row_buffer_, > size_type(rows+1), 0, 1); > // write: > init_temporary = viennacl::zero_vector<unsigned int>(size_type(rows+1), > ctx); > } > > The alternative is to use viennacl::backend::memory_write(), which in the > case of GPUs involves the zeros to be sent via PCI-Express. > > Best regards, > Karli > |
From: Karl R. <ru...@iu...> - 2017-09-15 13:05:16
|
Hi Chris, > I would like to directly write to the CSR vector. Specifically, I would > like to zero the element vector (in prep for a fill) *without* removing > the sparsity pattern. > > Once I obtain the handle via A.handle(), what do I do with it? If you want to zero it right on the target device, then wrap it in a vector and write a zero vector to it. See here for an example: https://github.com/viennacl/viennacl-dev/blob/master/viennacl/compressed_matrix.hpp#L659 The relevant code: { // wrap: viennacl::vector_base<unsigned int> init_temporary(row_buffer_, size_type(rows+1), 0, 1); // write: init_temporary = viennacl::zero_vector<unsigned int>(size_type(rows+1), ctx); } The alternative is to use viennacl::backend::memory_write(), which in the case of GPUs involves the zeros to be sent via PCI-Express. Best regards, Karli |
From: Chris M. <chr...@us...> - 2017-09-15 03:50:08
|
I would like to directly write to the CSR vector. Specifically, I would like to zero the element vector (in prep for a fill) *without* removing the sparsity pattern. Once I obtain the handle via A.handle(), what do I do with it? Thanks, Chris |
From: Joerg R. <joe...@gm...> - 2017-09-08 06:58:28
|
Dear viennacl community, Does pyviennacl provide a way to flatten a matrix on the compute device as is possible in numpy? Specifically, in numpy, I can write: 1: x = np.random.random((608,608)).astype(np.float32) 2: a = np.zeros((610, 610), dtype=np.float32) 3: a[1:-1, 1:-1] = x #zero-pad matrix x 4: b = np.zeros((9, 608*608), dtype=np.float32) # output matrix 5: for i in range(3): 6: for j in range(3): 7: b[i*3 + j, :] = a[i:608+i, j:608+j].flatten() Notice, how in line 7 a row of b is assigned from a flattened sub matrix of a. I can easily achieve all of the above in pyviennacl, but I don’t see how I would have to write the expression in line 7 if a and b are of the pyviennacl.Matrix type. How to I do this? I’ve tried to keep b on the device and a on the host and then use 7: b[i*3 + j, :] = vcl.Matrix(a[i:608+i, j:608+j].reshape((1,608*608))) But that is much, much slower than my initial solution of using numpy for everything. Any help is greatly appreciated. Many thanks Joerg |
From: Karl R. <ru...@iu...> - 2017-08-05 12:17:22
|
Hi Guillaume, > Maybe I misunderstood something, but I couldn't find a way to use > Singular Value Decomposition (SVD) under python and ViennaCL, with > backend automatic selection, either CUDA, OpenCL or OpenMP. SVD is certainly not exposed through the release version of PyViennaCL. It may be in the developer repository. Toby, what's the status on this? Best regards, Karli > > Can anybody confirm or infirm my thoughts ? > > Many thanks > Guillaume > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support |
From: Guillaume L. <gui...@up...> - 2017-08-05 10:12:55
|
Hello, Maybe I misunderstood something, but I couldn't find a way to use Singular Value Decomposition (SVD) under python and ViennaCL, with backend automatic selection, either CUDA, OpenCL or OpenMP. Can anybody confirm or infirm my thoughts ? Many thanks Guillaume |
From: Karl R. <ru...@iu...> - 2017-07-26 19:02:44
|
Hi Charles, > Once again, after spending so much time previously before messaging this > list I have now solved the problem shortly afterwards. In your > documentation section 'User-Provided OpenCL Contexts' I got the idea to > pull all the relevant information from the viennacl objects I am passing > to the functions. This way I can setup the context with the previously > existing context. The relevant code looks like this: > > // viennacl::matrix *vcl_A > viennacl::ocl::context ctx = vcl_A->handle().opencl_handle().context(); > cl_context my_context = > vcl_A->handle().opencl_handle().context().handle().get(); > cl_device_id my_device = > vcl_A->handle().opencl_handle().context().devices()[0].id(); > cl_command_queue queue = > vcl_A->handle().opencl_handle().context().get_queue().handle().get(); > viennacl::ocl::setup_context(0, my_context, my_device, queue); > > Now I can still use the 'ctx' object as needed and the context for the > 'enqueue' call is using the correct context. > > Thanks for responding and for creating the documentation. I always seem > to find another useful nugget. great to hear that you found a fix :-) Based on your description, I think the reason for these troubles is the singleton used for the context. If everything is compiled as a single library, the singleton (a static member) is working just fine. However, if you compile the user-provided code separately, you may end up with a separate shared library that duplicates the singleton (and thus two contexts get created). Whether or not this is the case depends on how you implemented the just-in-time compilation - at least it seems like the most plausible cause. Best regards, Karli > On Wed, Jul 26, 2017 at 10:10 AM, Karl Rupp <ru...@iu... > <mailto:ru...@iu...>> wrote: > > Hi Charles, > > can you point me to the code that exposes the problem? The OpenCL > error indicates that the memory object passed in is not correct, so > maybe there is indeed a second context in play that should not be there. > > Best regards, > Karli > > > > On 07/26/2017 08:58 AM, Charles Determan wrote: > > I have an interesting problem. In the context of developing > additional functionality for the gpuR package I want to have the > option for users to provide a custom OpenCL kernel that will > compile and provide a function that can immediately be used > within R. I am quite close where I can dynamically create the > necessary C++ files, compile, and load the function. This leads > to my current problem. > > If I take a kernel that currently works within the package and > use it to create this custom function the following happens. I > can get the previously initialized matrices from the context > index I pass (i.e. I can print them). This made me believe that > I can use my previously defined contexts and objects. But when > I get to the 'viennacl::ocl::enqueue' call of the kernel > function it throws the error which I thought I read meant the > contexts weren't matching but I'm not sure where the disconnect is. > > ViennaCL: Error -38 in function arg ( > path/to/R/R-3.4.0/library/RViennaCL/include/viennacl/ocl/kernel.hpp:239 > ) > Error in cpp_gpuMatrix_custom_igemm(igpuA@address, TRUE, > igpuB@address, : > ViennaCL: FATAL ERROR: CL_INVALID_MEM_OBJECT. > If you think that this is a bug in ViennaCL, please report it at > vie...@li... > <mailto:vie...@li...> > <mailto:vie...@li... > <mailto:vie...@li...>> and supply at > least the following information: > > * Operating System > * Which OpenCL implementation (AMD, NVIDIA, etc.) > * ViennaCL version > Many thanks in advance! > > > Running with VIENNACL_DEBUG_ALL I get the following output: > > ViennaCL: Initializing context no. 0 > ViennaCL: Initializing new ViennaCL context. > ViennaCL: Setting all devices for context... > ViennaCL: Getting platform... > ViennaCL: Querying devices available at current platform. > ViennaCL: Found 1 devices. > ViennaCL: Creating device object (CTOR with cl_device_id) > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Number of devices for context: 1 > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Initialization of new ViennaCL context done. > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Adding new queue for device 0x2e2a00 to context 0x21847b40 > ViennaCL: Context no. 0 initialized with 1 devices > ViennaCL: Device id: 0x2e2a00 > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Adding program 'my_kernel' with source to context > 0x21847b40 > ViennaCL: Creating kernel object (full CTOR): iMatMult > ViennaCL: Stored program 'my_kernel' in context 0x21847b40 > ViennaCL: There is/are 1 program(s) > ViennaCL: Getting program 'my_kernel' from context 0x21847b40 > ViennaCL: There are 1 programs > ViennaCL: Setting global work size to 128 at index 0 for kernel > iMatMult > ViennaCL: Setting global work size to 128 at index 1 for kernel > iMatMult > ViennaCL: Setting local work size to 16 at index 0 for kernel > iMatMult > ViennaCL: Setting local work size to 16 at index 1 for kernel > iMatMult > ViennaCL: Setting int precision kernel argument 4 at pos 0 for > kernel iMatMult > ViennaCL: Setting int precision kernel argument 128 at pos 1 for > kernel iMatMult > ViennaCL: Setting int precision kernel argument 4 at pos 2 for > kernel iMatMult > ViennaCL: Setting int precision kernel argument 128 at pos 3 for > kernel iMatMult > ViennaCL: Setting generic kernel argument 0x1f59f720 at pos 4 > for kernel iMatMult > > I initially see that it is 'initializing context 0' when it was > previously initialized within the main 'gpuR' package. Perhaps > this is okay, provided it is initialized in the same way? Or > perhaps I need to find a way to carry the previous context > between functions (e.g. an external pointer). > > Any thoughts are appreciated, > > Charles > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > <mailto:Vie...@li...> > https://lists.sourceforge.net/lists/listinfo/viennacl-support > <https://lists.sourceforge.net/lists/listinfo/viennacl-support> > > |
From: Charles D. <cde...@gm...> - 2017-07-26 17:29:02
|
Karl, Once again, after spending so much time previously before messaging this list I have now solved the problem shortly afterwards. In your documentation section 'User-Provided OpenCL Contexts' I got the idea to pull all the relevant information from the viennacl objects I am passing to the functions. This way I can setup the context with the previously existing context. The relevant code looks like this: // viennacl::matrix *vcl_A viennacl::ocl::context ctx = vcl_A->handle().opencl_handle().context(); cl_context my_context = vcl_A->handle().opencl_handle().context().handle().get(); cl_device_id my_device = vcl_A->handle().opencl_handle().context().devices()[0].id(); cl_command_queue queue = vcl_A->handle().opencl_handle().context().get_queue().handle().get(); viennacl::ocl::setup_context(0, my_context, my_device, queue); Now I can still use the 'ctx' object as needed and the context for the 'enqueue' call is using the correct context. Thanks for responding and for creating the documentation. I always seem to find another useful nugget. Charles On Wed, Jul 26, 2017 at 10:10 AM, Karl Rupp <ru...@iu...> wrote: > Hi Charles, > > can you point me to the code that exposes the problem? The OpenCL error > indicates that the memory object passed in is not correct, so maybe there > is indeed a second context in play that should not be there. > > Best regards, > Karli > > > > On 07/26/2017 08:58 AM, Charles Determan wrote: > >> I have an interesting problem. In the context of developing additional >> functionality for the gpuR package I want to have the option for users to >> provide a custom OpenCL kernel that will compile and provide a function >> that can immediately be used within R. I am quite close where I can >> dynamically create the necessary C++ files, compile, and load the >> function. This leads to my current problem. >> >> If I take a kernel that currently works within the package and use it to >> create this custom function the following happens. I can get the >> previously initialized matrices from the context index I pass (i.e. I can >> print them). This made me believe that I can use my previously defined >> contexts and objects. But when I get to the 'viennacl::ocl::enqueue' call >> of the kernel function it throws the error which I thought I read meant the >> contexts weren't matching but I'm not sure where the disconnect is. >> >> ViennaCL: Error -38 in function arg ( path/to/R/R-3.4.0/library/RVie >> nnaCL/include/viennacl/ocl/kernel.hpp:239 ) >> Error in cpp_gpuMatrix_custom_igemm(igpuA@address, TRUE, igpuB@address, >> : >> ViennaCL: FATAL ERROR: CL_INVALID_MEM_OBJECT. >> If you think that this is a bug in ViennaCL, please report it at >> vie...@li... <mailto:viennacl-support@lists >> .sourceforge.net> and supply at least the following information: >> >> * Operating System >> * Which OpenCL implementation (AMD, NVIDIA, etc.) >> * ViennaCL version >> Many thanks in advance! >> >> >> Running with VIENNACL_DEBUG_ALL I get the following output: >> >> ViennaCL: Initializing context no. 0 >> ViennaCL: Initializing new ViennaCL context. >> ViennaCL: Setting all devices for context... >> ViennaCL: Getting platform... >> ViennaCL: Querying devices available at current platform. >> ViennaCL: Found 1 devices. >> ViennaCL: Creating device object (CTOR with cl_device_id) >> ViennaCL: Creating device object (Copy CTOR) >> ViennaCL: Number of devices for context: 1 >> ViennaCL: Creating device object (Copy CTOR) >> ViennaCL: Initialization of new ViennaCL context done. >> ViennaCL: Creating device object (Copy CTOR) >> ViennaCL: Creating device object (Copy CTOR) >> ViennaCL: Adding new queue for device 0x2e2a00 to context 0x21847b40 >> ViennaCL: Context no. 0 initialized with 1 devices >> ViennaCL: Device id: 0x2e2a00 >> ViennaCL: Creating device object (Copy CTOR) >> ViennaCL: Adding program 'my_kernel' with source to context 0x21847b40 >> ViennaCL: Creating kernel object (full CTOR): iMatMult >> ViennaCL: Stored program 'my_kernel' in context 0x21847b40 >> ViennaCL: There is/are 1 program(s) >> ViennaCL: Getting program 'my_kernel' from context 0x21847b40 >> ViennaCL: There are 1 programs >> ViennaCL: Setting global work size to 128 at index 0 for kernel iMatMult >> ViennaCL: Setting global work size to 128 at index 1 for kernel iMatMult >> ViennaCL: Setting local work size to 16 at index 0 for kernel iMatMult >> ViennaCL: Setting local work size to 16 at index 1 for kernel iMatMult >> ViennaCL: Setting int precision kernel argument 4 at pos 0 for kernel >> iMatMult >> ViennaCL: Setting int precision kernel argument 128 at pos 1 for kernel >> iMatMult >> ViennaCL: Setting int precision kernel argument 4 at pos 2 for kernel >> iMatMult >> ViennaCL: Setting int precision kernel argument 128 at pos 3 for kernel >> iMatMult >> ViennaCL: Setting generic kernel argument 0x1f59f720 at pos 4 for kernel >> iMatMult >> >> I initially see that it is 'initializing context 0' when it was >> previously initialized within the main 'gpuR' package. Perhaps this is >> okay, provided it is initialized in the same way? Or perhaps I need to >> find a way to carry the previous context between functions (e.g. an >> external pointer). >> >> Any thoughts are appreciated, >> >> Charles >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> >> >> >> _______________________________________________ >> ViennaCL-support mailing list >> Vie...@li... >> https://lists.sourceforge.net/lists/listinfo/viennacl-support >> >> |
From: Karl R. <ru...@iu...> - 2017-07-26 15:10:34
|
Hi Charles, can you point me to the code that exposes the problem? The OpenCL error indicates that the memory object passed in is not correct, so maybe there is indeed a second context in play that should not be there. Best regards, Karli On 07/26/2017 08:58 AM, Charles Determan wrote: > I have an interesting problem. In the context of developing additional > functionality for the gpuR package I want to have the option for users > to provide a custom OpenCL kernel that will compile and provide a > function that can immediately be used within R. I am quite close where > I can dynamically create the necessary C++ files, compile, and load the > function. This leads to my current problem. > > If I take a kernel that currently works within the package and use it to > create this custom function the following happens. I can get the > previously initialized matrices from the context index I pass (i.e. I > can print them). This made me believe that I can use my previously > defined contexts and objects. But when I get to the > 'viennacl::ocl::enqueue' call of the kernel function it throws the error > which I thought I read meant the contexts weren't matching but I'm not > sure where the disconnect is. > > ViennaCL: Error -38 in function arg ( > path/to/R/R-3.4.0/library/RViennaCL/include/viennacl/ocl/kernel.hpp:239 ) > Error in cpp_gpuMatrix_custom_igemm(igpuA@address, TRUE, igpuB@address, : > ViennaCL: FATAL ERROR: CL_INVALID_MEM_OBJECT. > If you think that this is a bug in ViennaCL, please report it at > vie...@li... > <mailto:vie...@li...> and supply at least the > following information: > * Operating System > * Which OpenCL implementation (AMD, NVIDIA, etc.) > * ViennaCL version > Many thanks in advance! > > > Running with VIENNACL_DEBUG_ALL I get the following output: > > ViennaCL: Initializing context no. 0 > ViennaCL: Initializing new ViennaCL context. > ViennaCL: Setting all devices for context... > ViennaCL: Getting platform... > ViennaCL: Querying devices available at current platform. > ViennaCL: Found 1 devices. > ViennaCL: Creating device object (CTOR with cl_device_id) > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Number of devices for context: 1 > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Initialization of new ViennaCL context done. > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Adding new queue for device 0x2e2a00 to context 0x21847b40 > ViennaCL: Context no. 0 initialized with 1 devices > ViennaCL: Device id: 0x2e2a00 > ViennaCL: Creating device object (Copy CTOR) > ViennaCL: Adding program 'my_kernel' with source to context 0x21847b40 > ViennaCL: Creating kernel object (full CTOR): iMatMult > ViennaCL: Stored program 'my_kernel' in context 0x21847b40 > ViennaCL: There is/are 1 program(s) > ViennaCL: Getting program 'my_kernel' from context 0x21847b40 > ViennaCL: There are 1 programs > ViennaCL: Setting global work size to 128 at index 0 for kernel iMatMult > ViennaCL: Setting global work size to 128 at index 1 for kernel iMatMult > ViennaCL: Setting local work size to 16 at index 0 for kernel iMatMult > ViennaCL: Setting local work size to 16 at index 1 for kernel iMatMult > ViennaCL: Setting int precision kernel argument 4 at pos 0 for kernel > iMatMult > ViennaCL: Setting int precision kernel argument 128 at pos 1 for kernel > iMatMult > ViennaCL: Setting int precision kernel argument 4 at pos 2 for kernel > iMatMult > ViennaCL: Setting int precision kernel argument 128 at pos 3 for kernel > iMatMult > ViennaCL: Setting generic kernel argument 0x1f59f720 at pos 4 for kernel > iMatMult > > I initially see that it is 'initializing context 0' when it was > previously initialized within the main 'gpuR' package. Perhaps this is > okay, provided it is initialized in the same way? Or perhaps I need to > find a way to carry the previous context between functions (e.g. an > external pointer). > > Any thoughts are appreciated, > > Charles > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > _______________________________________________ > ViennaCL-support mailing list > Vie...@li... > https://lists.sourceforge.net/lists/listinfo/viennacl-support > |
From: Charles D. <cde...@gm...> - 2017-07-26 13:58:41
|
I have an interesting problem. In the context of developing additional functionality for the gpuR package I want to have the option for users to provide a custom OpenCL kernel that will compile and provide a function that can immediately be used within R. I am quite close where I can dynamically create the necessary C++ files, compile, and load the function. This leads to my current problem. If I take a kernel that currently works within the package and use it to create this custom function the following happens. I can get the previously initialized matrices from the context index I pass (i.e. I can print them). This made me believe that I can use my previously defined contexts and objects. But when I get to the 'viennacl::ocl::enqueue' call of the kernel function it throws the error which I thought I read meant the contexts weren't matching but I'm not sure where the disconnect is. ViennaCL: Error -38 in function arg ( path/to/R/R-3.4.0/library/RViennaCL/include/viennacl/ocl/kernel.hpp:239 ) Error in cpp_gpuMatrix_custom_igemm(igpuA@address, TRUE, igpuB@address, : ViennaCL: FATAL ERROR: CL_INVALID_MEM_OBJECT. If you think that this is a bug in ViennaCL, please report it at vie...@li... and supply at least the following information: * Operating System * Which OpenCL implementation (AMD, NVIDIA, etc.) * ViennaCL version Many thanks in advance! Running with VIENNACL_DEBUG_ALL I get the following output: ViennaCL: Initializing context no. 0 ViennaCL: Initializing new ViennaCL context. ViennaCL: Setting all devices for context... ViennaCL: Getting platform... ViennaCL: Querying devices available at current platform. ViennaCL: Found 1 devices. ViennaCL: Creating device object (CTOR with cl_device_id) ViennaCL: Creating device object (Copy CTOR) ViennaCL: Number of devices for context: 1 ViennaCL: Creating device object (Copy CTOR) ViennaCL: Initialization of new ViennaCL context done. ViennaCL: Creating device object (Copy CTOR) ViennaCL: Creating device object (Copy CTOR) ViennaCL: Adding new queue for device 0x2e2a00 to context 0x21847b40 ViennaCL: Context no. 0 initialized with 1 devices ViennaCL: Device id: 0x2e2a00 ViennaCL: Creating device object (Copy CTOR) ViennaCL: Adding program 'my_kernel' with source to context 0x21847b40 ViennaCL: Creating kernel object (full CTOR): iMatMult ViennaCL: Stored program 'my_kernel' in context 0x21847b40 ViennaCL: There is/are 1 program(s) ViennaCL: Getting program 'my_kernel' from context 0x21847b40 ViennaCL: There are 1 programs ViennaCL: Setting global work size to 128 at index 0 for kernel iMatMult ViennaCL: Setting global work size to 128 at index 1 for kernel iMatMult ViennaCL: Setting local work size to 16 at index 0 for kernel iMatMult ViennaCL: Setting local work size to 16 at index 1 for kernel iMatMult ViennaCL: Setting int precision kernel argument 4 at pos 0 for kernel iMatMult ViennaCL: Setting int precision kernel argument 128 at pos 1 for kernel iMatMult ViennaCL: Setting int precision kernel argument 4 at pos 2 for kernel iMatMult ViennaCL: Setting int precision kernel argument 128 at pos 3 for kernel iMatMult ViennaCL: Setting generic kernel argument 0x1f59f720 at pos 4 for kernel iMatMult I initially see that it is 'initializing context 0' when it was previously initialized within the main 'gpuR' package. Perhaps this is okay, provided it is initialized in the same way? Or perhaps I need to find a way to carry the previous context between functions (e.g. an external pointer). Any thoughts are appreciated, Charles |