What was the problem when both NVIDIA and ATI GPUs were present? Would
the app even start to run? Would it run and then fail to find the
suitable GPU?

When having multiple cards from NVIDIA and ATI, The ideal situation
would be having different platforms. Look at this output from a program
run on my computer to see how both ATI's OpenCL (platform 0 for the CPU)
and NVIDIA's OpenCL (platform 1 for the GPU) are present:


AQUAPT started on Fri May 14 09:57:03 2010

Executable file: c:\Kamran\AQUAPT_V4\AQUAPT_OCL_NVIDIA.exe
Found 2 OCL Platforms

Platform number: 0:
  Platform profile: FULL_PROFILE
  Platform version: OpenCL 1.0 ATI-Stream-v2.0.1
  Platform name: ATI Stream
  Platform vendor: Advanced Micro Devices, Inc.
  Platform extensions: cl_khr_icd
  Number of devices: 1

  Device number 0:
    Device name: Intel(R) Core(TM)2 CPU          6320  @ 1.86GHz
    Device type: CPU 
    Device vendor: GenuineIntel
    Device driver version: 1.0
    Device available: Yes
    Device compiler available: Yes
    Device compute units: 2
    Device address bits: 32
    Device endian: little endian
    Device global memory: 1073741824
    Device max work group size: 1024
    Device max work item dimensions: 3
    Device max work item dimensions: 1024x1024x1024

Platform number: 1:
  Platform profile: FULL_PROFILE
  Platform version: OpenCL 1.0 CUDA 3.0.1
  Platform name: NVIDIA CUDA
  Platform vendor: NVIDIA Corporation
  Platform extensions: cl_khr_byte_addressable_store cl_khr_icd
cl_khr_gl_sharing cl_nv_d3d9_sharing cl_nv_compiler_options
cl_nv_device_attribute_query cl_nv_pragma_unroll 
  Number of devices: 1

  Device number 0:
    Device name: GeForce GTX 260
    Device type: GPU 
    Device vendor: NVIDIA Corporation
    Device driver version: 197.13
    Device available: Yes
    Device compiler available: Yes
    Device compute units: 27
    Device address bits: 32
    Device endian: little endian
    Device global memory: 939196416
    Device max work group size: 512
    Device max work item dimensions: 3
    Device max work item dimensions: 512x512x64

 Using GPU device 0 with 27 compute units


Because of this our code actually makes sure it uses a platform with an
available GPU device. 

Now if only this worked for multiple GPUs from different vendors!

-Kamran



-----Original Message-----
From: Raistmer [mailto:[email protected]] 
Sent: Monday, May 17, 2010 12:57 PM
To: Kamran Karimi; David Anderson
Cc: [email protected]
Subject: Re: [boinc_dev] BOINC now supports OpenCL

> I'd imagine a user would install either an
>NVIDIA or an ATI driver. Either way the project doesn't have to include
>a suitable OpenCL.dll file with the application.

>-Kamran

Even now there are users with both NV and ATI GPUs installed into single

host.
I would not await that number of such users will decrease, quite reverse
can 
be true.
For now we at Lunatics team were not able to make ATI AP work on NV +
ATI 
GPUs host.
NV GPU had to be removed to ATI GPU start to work OK. But ultimately app

should be able to function when both GPUs installed.
I keep in mind such situation while providing OpenCL.DLL along with app 
binaries itself.
But how to manage this when same project  would be able to use OpenCL on

both types of GPUs?... 2 OpenCL.DLL in single project directory - not
good 
solution :)


-----Original Message-----
From: Raistmer [mailto:[email protected]]
Sent: Saturday, May 15, 2010 1:11 AM
To: Kamran Karimi; David Anderson
Cc: [email protected]
Subject: Re: [boinc_dev] BOINC now supports OpenCL

Do you have OpenCL for ATI GPUs already?
The problem of shipping OpenCL.dll with app strats when both SDKs (and
both
DLLs ) present on user PC.
NV OpenCL.dll resides in system32 (that is, "system" file, no need to
distribute indeed) but it can't handle ATI's OpenCL library calls.

----- Original Message ----- 
From: "Kamran Karimi" <[email protected]>
To: "David Anderson" <[email protected]>
Cc: <[email protected]>
Sent: Saturday, May 15, 2010 2:19 AM
Subject: Re: [boinc_dev] BOINC now supports OpenCL


> BTW there was no need to supply any OpenCL.dll files with the app. We
> sent the OpenCL kernel source to volunteer computers and compiled it
at
> execution time with no problem.
>
> In short, things worked smoothly.
>
> -Kamran
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Kamran Karimi
> Sent: Friday, May 14, 2010 3:15 PM
> To: David Anderson
> Cc: [email protected]
> Subject: [boinc_dev] BOINC now supports OpenCL
>
> I am happy to report that we successfully tried an NVIDIA OpenCL test
> version of our AQUA app on volunteer computers.
>
> There is no way to know for sure whether people who ran the work units
> on their computers had OpenCL SDKs or not, but we didn't see any
> failures, which means that every user with the appropriate NVIDIA
driver
> version (197.13+) who downloaded the OpenCL app ran it successfully to
> completion.
>
> We have an ATI OpenCL test version of the app too. We can try it ASA
the
> appropriate application plan is functional.
>
> -Kamran
>
>
> -----Original Message-----
> From: David Anderson [mailto:[email protected]]
> Sent: Wednesday, May 12, 2010 8:09 PM
> To: Kamran Karimi
> Cc: [email protected]
> Subject: Re: [boinc_dev] OpenCL support?
>
> I added plan classes cuda_opencl (misnomer, sorry) and ati_opencl.
> The former requires driver version 197.13+;
> the latter is a stub that never matches.
>
> -- David
>
> Kamran Karimi wrote:
>> Thanks for the clarification.
>>
>> I would appreciate it if you could do the app_plan() modifications to
>> make sure opencl_nvidia is available to everybody for testing.
>>
>> -Kamran
>>
>>
>> -----Original Message-----
>> From: David Anderson [mailto:[email protected]]
>> Sent: Wednesday, May 12, 2010 3:22 PM
>> To: Kamran Karimi
>> Cc: [email protected]
>> Subject: Re: [boinc_dev] OpenCL support?
>>
>> Kamran Karimi wrote:
>>> We also have two versions of our aqua app for NVIDIA and ATI. They
> run
>>> when invoked manually, and accept a "--device" argument to determine
>>> which GPU to use (as provided to cuda apps before, but I can't find
>> this
>>> argument in the sched_customize.cpp file any more).
>>
>> It's not supplied by the scheduler.
>> It's supplied by the client, after it decides which GPU to use.
>>
>>> We can try the apps
>>> under BOINC when it can detect and report OpenCL's presence.
>>
>> You can try them right now;
>> just define an opencl_nvidia plan class,
>> and add a clause to app_plan() in which you check for
>> driver version 197.13 or later.
>> I can add this if you want.
>>
>> ATI: we need to wait until ATI includes OpenCL support in their
> driver.
>> Asking volunteers to install an SDK,
>> and having the client check for it, is not viable.
>>
>> -- David
>>
>
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
> _______________________________________________
> boinc_dev mailing list
> [email protected]
> http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
> To unsubscribe, visit the above URL and
> (near bottom of page) enter your email address.
>

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to