Relying on the gui for github gets me every time.

Working now, looks great!
On Aug 13, 2014 9:09 PM, "Namik Karovic" <[email protected]> wrote:

> Hey Matt,
>
> That looks like you didn't update Benchmark's ViennaCL copy in the
> external/viennacl folder. Just navigate to that folder with cmd and do a
> git pull. That should update ViennaCL and fix this.
>
> Regards, Namik
>
>
> On Thu, Aug 14, 2014 at 1:59 AM, Matthew Musto <[email protected]>
> wrote:
>
>> A bit off topic, but I just tried to build the latest version of the
>> benchmark.  Got a number of errors...
>>
>> If memory serves, Karli modified viennacl to make these functions
>> public.  Were those changes not picked up in the standalone gui benchmark
>> project?
>>
>> Error    16    error C2248: 'viennacl::ocl::device::convert_to_string' :
>> cannot access private member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 287    1    ViennaCL_Benchmark
>> Error    19    error C2248:
>> 'viennacl::ocl::device::device_type_to_string' : cannot access private
>> member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 381    1    ViennaCL_Benchmark
>> Error    13    error C2248:
>> 'viennacl::ocl::device::exec_capabilities_to_string' : cannot access
>> private member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 203    1    ViennaCL_Benchmark
>> Error    18    error C2248: 'viennacl::ocl::device::fp_config_to_string'
>> : cannot access private member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 378    1    ViennaCL_Benchmark
>> Error    15    error C2248:
>> 'viennacl::ocl::device::local_mem_type_to_string' : cannot access private
>> member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 254    1    ViennaCL_Benchmark
>> Error    14    error C2248:
>> 'viennacl::ocl::device::mem_cache_type_to_string' : cannot access private
>> member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 214    1    ViennaCL_Benchmark
>> Error    17    error C2248:
>> 'viennacl::ocl::device::queue_properties_to_string' : cannot access private
>> member declared in class 'viennacl::ocl::device'
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 375    1    ViennaCL_Benchmark
>>     25    IntelliSense: function
>> "viennacl::ocl::device::convert_to_string" (declared at line 1185 of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 287    97    ViennaCL_Benchmark
>>     28    IntelliSense: function
>> "viennacl::ocl::device::device_type_to_string" (declared at line 1205 of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 381    97    ViennaCL_Benchmark
>>     22    IntelliSense: function
>> "viennacl::ocl::device::exec_capabilities_to_string" (declared at line 1150
>> of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 203    97    ViennaCL_Benchmark
>>     27    IntelliSense: function
>> "viennacl::ocl::device::fp_config_to_string" (declared at line 1127 of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 378    97    ViennaCL_Benchmark
>>     24    IntelliSense: function
>> "viennacl::ocl::device::local_mem_type_to_string" (declared at line 1174 of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 254    97    ViennaCL_Benchmark
>>     23    IntelliSense: function
>> "viennacl::ocl::device::mem_cache_type_to_string" (declared at line 1161 of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 214    97    ViennaCL_Benchmark
>>     26    IntelliSense: function
>> "viennacl::ocl::device::queue_properties_to_string" (declared at line 1194
>> of
>> "C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl/ocl/device.hpp")
>> is inaccessible
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.cpp
>> 375    97    ViennaCL_Benchmark
>> Warning    1    warning : Z-order assignment: 'verticalSpacer_2' is not a
>> valid widget.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\ui\mainwindow.ui
>> 1    1    ViennaCL_Benchmark
>> Warning    8    warning C4005: 'BENCHMARK_VECTOR_SIZE' : macro
>> redefinition
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\benchmarks\benchmark_vector.h
>> 26    1    ViennaCL_Benchmark
>> Warning    10    warning C4005: 'BENCHMARK_VECTOR_SIZE' : macro
>> redefinition
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\benchmarks\benchmark_vector.h
>> 26    1    ViennaCL_Benchmark
>> Warning    12    warning C4005: 'BENCHMARK_VECTOR_SIZE' : macro
>> redefinition
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\benchmarks\benchmark_vector.h
>> 26    1    ViennaCL_Benchmark
>> Warning    21    warning C4005: 'BENCHMARK_VECTOR_SIZE' : macro
>> redefinition
>> c:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\src\benchmarks\benchmark_vector.h
>> 26    1    ViennaCL_Benchmark
>> Warning    5    warning C4267: 'initializing' : conversion from 'size_t'
>> to 'unsigned int', possible loss of data
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\tools\adapter.hpp
>> 356    1    ViennaCL_Benchmark
>> Warning    2    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    3    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    4    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    6    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    7    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    9    warning C4996: 'getenv': This function or variable may be
>> unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    11    warning C4996: 'getenv': This function or variable may
>> be unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>> Warning    20    warning C4996: 'getenv': This function or variable may
>> be unsafe. Consider using _dupenv_s instead. To disable deprecation, use
>> _CRT_SECURE_NO_WARNINGS. See online help for details.
>> C:\viennacl-benchmark-gui-master\viennacl-benchmark-gui\external\viennacl-dev\viennacl\ocl\context.hpp
>> 382    1    ViennaCL_Benchmark
>>
>>
>>
>> On Wed, Aug 13, 2014 at 4:47 PM, Namik Karovic <[email protected]>
>> wrote:
>>
>>> Hey hey,
>>>
>>> I admit I may have panicked a bit too much. After playing around with it
>>> a little more, I now understand why it reported different context ids.
>>>
>>> *They weren't context ids, they were platform ids.* I was comparing my
>>> context counter to the viennacl::ocl::current_context().platform_index().
>>> Those two are obviously completely different things. Context switching does
>>> work fine after all. Consequently, platform/device switching works fine too.
>>>
>>>
>>> Omg, this looks like the OpenCL SDK died. I had some other user report
>>>> on a similar topic on Windows, which I was never able to reproduce on
>>>> Linux. Can you please make sure that you use the latest drivers and OpenCL
>>>> SDK? We might have to file a bug report here...
>>>
>>>
>>> Now this is a completely different story. I'll try the newest OpenCL SDK
>>> and see what happens.
>>>
>>>
>>> Any chance you can send me the full output?
>>>
>>>
>>> Sure, I'll send it right away.
>>>
>>>
>>> This is a fallback mechanism: you can switch to *any* context ID you
>>>> want. If the context has been customized using setup_context() and friends,
>>>> then it will create the context with this customized setup. Otherwise it
>>>> will create a context with just the default device. This is mostly
>>>> convenience for multi-threaded use case scenarios or applications where
>>>> totally unrelated operations should be fed to different contexts (rather
>>>> than just command queues).
>>>
>>>
>>> Ah, I see. That's a nice feature now that I think about it. Is it
>>> documented somewhere in the manual? It might be a good idea to document it
>>> so people don't go nuts for no reason, like I did.
>>>
>>>
>>> Regards, Namik
>>>
>>>
>>> On Wed, Aug 13, 2014 at 10:24 PM, Karl Rupp <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>>
>>>>      This error might be due to the ViennaCL-objects created in a
>>>>>     different context. Do you recreate the ViennaCL-objects for each
>>>>>     benchmark run? If so, there should be no such problem.
>>>>>
>>>>>
>>>>> Uhmmm, I don't think so. Anyways, that error is gone now that I'm using
>>>>> contexts in the proper way.
>>>>>
>>>>
>>>> Ok, I'll check this.
>>>>
>>>>
>>>>
>>>>      I hope the user can't change the combo box values while the
>>>>>     benchmark is running...
>>>>>
>>>>>
>>>>> It's only temporary for testing purposes. The real context switching
>>>>> will occur when the benchmark is started.
>>>>>
>>>>
>>>> Ah, ok :-)
>>>>
>>>>
>>>>
>>>>  Yeah this is much better. Here's the new situation:
>>>>> I think there's no more duplicate contexts/devices. I've got 3
>>>>> contexts:
>>>>>
>>>>>   Context 0: AMD GPU using AMD SDK -works fine
>>>>>   Context 1: CPU using AMD SDK -crashes
>>>>>   Context 2: CPU using Intel SDK - works fine
>>>>>
>>>>> When using context 1, the program crashes with the following feedback:
>>>>>
>>>>> -in this particular run, the contexts were setup like this:
>>>>> Context id: 0 Context value: 0x87e168 Device name: Tahiti
>>>>> Context id: 1 Context value: 0x87e510 Device name:        Intel(R)
>>>>> Core(TM) i5-2500K CPU @ 3.30GHz
>>>>> Context id: 2 Context value: 0x60051e8 Device name:        Intel(R)
>>>>> Core(TM) i5-2500K CPU @ 3.30GHz
>>>>>
>>>>> -these two lines are my debug output:
>>>>> *1.* Benchmarking... Context id: 0 Context value: 0x87e510
>>>>> *2.* Running on device name:        Intel(R) Core(TM) i5-2500K CPU @
>>>>> 3.30GHz
>>>>>
>>>>> -I'm getting the id
>>>>> with viennacl::ocl::current_context().platform_index() and context
>>>>> value
>>>>> with viennacl::ocl::current_context().handle().get()
>>>>> -Notice how it says the id is 0, even though it should be 1, while the
>>>>> context value is properly changed to the value of context 1. Also,
>>>>> running on context 2, it runs fine, but reports the id to be 1. What's
>>>>> the deal here?
>>>>>
>>>>
>>>> Ok, I'll check this myself, I'll need to have a look at the surrounding
>>>> code.
>>>>
>>>>
>>>>
>>>>  -the rest is from ViennaCL:
>>>>> Build Status = -2 ( Err = -11 )
>>>>> Log: Internal Error:  Storing X86 DLL failed!
>>>>>
>>>>
>>>> Omg, this looks like the OpenCL SDK died. I had some other user report
>>>> on a similar topic on Windows, which I was never able to reproduce on
>>>> Linux. Can you please make sure that you use the latest drivers and OpenCL
>>>> SDK? We might have to file a bug report here...
>>>>
>>>>
>>>>
>>>>  -then a lot of source code, with this in the middle:
>>>>> ViennaCL: FATAL ERROR: Could not find kernel
>>>>>
>>>>> -and finally, this:
>>>>> Number of kernels in program: 0
>>>>>
>>>>> vec_mul' from program 'float_ell_matrix'
>>>>>
>>>>> Invalid parameter passed to C runtime function.
>>>>>
>>>>> Invalid parameter passed to C runtime function.
>>>>>
>>>>> terminate called after throwing an instance of 'char const*'
>>>>>
>>>>
>>>> Any chance you can send me the full output?
>>>>
>>>>
>>>>
>>>>  OK scratch that. And scratch everything I've written so far. I just
>>>>> attempted to query contexts 4,5,6,... . And it unfortunately worked! I
>>>>> seem to have mysterious extra contexts! I'm totally confused now.
>>>>>
>>>>> Context id: 0 Context value: 0xc5e168
>>>>>
>>>>> Context id: 0 Device name: Tahiti
>>>>>
>>>>> Context id: 1 Context value: 0xc5e510
>>>>>
>>>>> Context id: 1 Device name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
>>>>>
>>>>> Context id: 2 Context value: 0x61051e8
>>>>>
>>>>> Context id: 2 Device name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz
>>>>>
>>>>> Context id: 3 Context value: 0xa9bdd90
>>>>>
>>>>> Context id: 3 Device name: Tahiti
>>>>>
>>>>> Context id: 4 Context value: 0xa9be0a8
>>>>>
>>>>> Context id: 4 Device name: Tahiti
>>>>>
>>>>> Context id: 5 Context value: 0xa9be3c0
>>>>>
>>>>> Context id: 5 Device name: Tahiti
>>>>>
>>>>> Context id: 6 Context value: 0xa9be6d8
>>>>>
>>>>> Context id: 6 Device name: Tahiti
>>>>>
>>>>> Context id: 7 Context value: 0xa9be9f0
>>>>>
>>>>> Context id: 7 Device name: Tahiti
>>>>>
>>>>> and so on...
>>>>>
>>>>> What's going on here?
>>>>>
>>>>
>>>> This is a fallback mechanism: you can switch to *any* context ID you
>>>> want. If the context has been customized using setup_context() and friends,
>>>> then it will create the context with this customized setup. Otherwise it
>>>> will create a context with just the default device. This is mostly
>>>> convenience for multi-threaded use case scenarios or applications where
>>>> totally unrelated operations should be fed to different contexts (rather
>>>> than just command queues).
>>>>
>>>> Best regards,
>>>> Karli
>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> ViennaCL-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/viennacl-devel
>>>
>>>
>>
>>
>> --
>> --------------------
>> Matthew Musto
>> [email protected]
>>
>
>
------------------------------------------------------------------------------
_______________________________________________
ViennaCL-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-devel

Reply via email to