Posts by dE

1) Message boards : GPUs : OpenCL has no affect. (Message 48382)
Posted 29 Mar 2013 by dE
Post:
If you want to tell the BOINC developers that they're doing it wrong, register to the BOINC development email list and post it there. But before you do so, and state there as well that each and every application can be used for parallelization, you'd probably do best and pass by on the BOINC Papers, to see how BOINC does things.

Since that won't give you enough information, perhaps that http://boinc.berkeley.edu/trac/wiki/SoftwareDevelopment does. You may also want to pass by on http://boinc.berkeley.edu/trac/wiki/ProjectMain to see what is actually supported under BOINC, and that when you see something like FORTRAN, that you know, oh oops, never going to work under GPGPU. :-)

There's nothing more for me to say.


Thank you, I'll surely see to it.

As of Fortran/Pascal etc... if that was the case, that project would've said it doesn't support Cuda or OpenCL.

I'm doing worldcommunitygrid here.
2) Message boards : GPUs : OpenCL has no affect. (Message 48372)
Posted 28 Mar 2013 by dE
Post:
The Sandy Bridge CPU is supported. Just the built in HD Graphics GPU that isn't.


I absolutely agree with that.

AMD has made something else, it was called Close to Metal, which later became ATI CAL. All of these ran on GPGPUs specifically.


Ok, I see. Hummmm....

And like all other AMD stuff, this'll also lack Linux support, and it already does.

For BOINC to be able to recognize if the GPGPU is capable, it'll need to see drivers for this GPGPU. BOINC won't detect if a CPU is OpenCL capable, but it will detect the CPU itself.

However, you can't just run one OpenCL program on any piece of hardware, you will need to specify what kind of hardware it is, even specify which OpenCL revision it can use. This is because the hardware it runs on will be completely different when it's an Intel_GPU, an Nvidia GPU or an AMD GPU, or another coprocessor. The hardware needs to have a decision making processor of kinds, so your motherboard, keyboard, monitor, mouse, hard disk, all fall off. It'll be CPU, GPGPU, coprocessor, possible Network Card, and all need their own drivers, which show OpenCL capability


No, that's not true.

http://www.darktable.org/usermanual/ch07s02s02.html.php
http://codedivine.org/2012/10/07/opencl-spir/

OpenCL Bytecode is included in a binary linked against libopencl.so; before execution of the binary, the OpenCL implementation compiles it to make it hardware specific. So it's like Java/.NET/mono with JIT.

Now I understand what was that 'Kernel Execution Speed' in john.

Otherwise there's no advantage of OpenCL. Why not use steam or CUDA instead?

BOINC doesn't look for GPUs, it looks for GPGPUs. As you may have noticed, BOINC does detect your CPU as well. It sends this information to the project, in case the project has some special need for it, like homogeneous redundancy (run tasks on groups of specific hardware and software only, e.g. only Linux vs Linux, or only Intel vs Intel). Then it's up to the science project's scheduler to decide if your CPU is capable (checking against a list of known CPUs that are capable), before they send you either an OpenCL multithreading application or a normal application.


Ok, so what can happen here, is that after reporting the CPU and determining if there's a functional OpenCL implementation based on the CPU; it's going to send this information to the project servers, which's then going to return tasks only using OpenCL (cause it's implemented by the processors).

Question is -- does Boinc send this information to the server (if CPU is openCL capable)?

The project uses that same information which contains what the detected GPGPU was, to send you an application specifically for that GPGPU, be it an app that can run on CUDA, OpenCL, Brook+ even for some.


But when a project talks about ATI, it means OpenCL right?

But here's the thing, while most of the applications can be translated into something that can run on all processing cores of a GPGPU, not all of the project applications lend themselves to use all CPU cores on one task at the same time. There have been tests with normal multithreading, a similar form of usage, but only one or two projects are capable of using that technology and then only for a specific application.


I guess we don't need that if memory usage is under control (1 application per processors).

Tasks focusing on GPUs can be massively parallelized (that's the advantage of GPUs combined with a subset of instruction types); projects in boinc can also be massively parallelized, that's why we have distributed computing in the first places; but each thread requires memory, and with the huge no. of cores a GPGPU has, each task per processor will take too much time and memory (combined); so GPU should be given tasks which can be parallelized with less memory requirements and under a single or 2 or 3 applications. E.g. Video encoding.

So it's not just cut and dried that there needs to be only one OpenCL detection and then by magic all capable hardware in the computer will be able to be used. That's a dream for the future, but really, we're nowhere near that yet.


The hardware should be able to do that computation, and there should exist drivers providing the hardware abstraction.

But if your box has openCL capable hardware and has the corresponding drivers (like in my case), all OpenCL application (using the same API version) will work.

In the future, we'll see hardware designed for the OpenCL API, like in the case with OpenGL and DirectX.
3) Message boards : GPUs : HD5450 on Fedora 17 - No usable GPU detected (Message 48369)
Posted 28 Mar 2013 by dE
Post:
Add user boinc to the video group, if you have one.
4) Message boards : GPUs : Intel GPUs (Message 48368)
Posted 28 Mar 2013 by dE
Post:
It appears that the Boinc community is under the false impression that OpenCL is an AMD technology developed specifically for AMD GPUs.

Any Intel core CPU (including core 2 *) is capable of doing OpenCL; and if Boinc doesn't realize that, it's a Boinc bug.

As of the project their task is to only provide OpenCL capable binaries; they are hardly concerned if the hardware's ATI or Intel.
5) Message boards : GPUs : OpenCL has no affect. (Message 48367)
Posted 28 Mar 2013 by dE
Post:
For e.g John and Imagemagick are not designed for Intel or in that case Nvidia/ATI GPUs; neither they talk about a specific GPU nor have been tried with OpenCL provided by Intel; all they want is libOpenCL.so 1.1 library to link against and it works in my case.
6) Message boards : GPUs : OpenCL has no affect. (Message 48366)
Posted 28 Mar 2013 by dE
Post:
I'm afraid I responded to 'support' problem in the first post itself.

And before anyone claims Sandy bridge isn't supported (which appears to be a common myth among Windows users/admins), please show sources for hardware specific OpenCL implementations.


OpenCL implementation is not hardware specific, otherwise there's no point of OpenCL; there was cuda, Intel would've made something else and AMD something else.

OpenCL is an abstraction layer over any hardware (+driver) which uses the OpenCL API (1.1) for GPU/CPU computation.

It doesn't matter if OpenCL is provided by the CPU, GPU, hard disk, monitor, motherbord, keyboard, mouse, touchpad or UPS; cause it's an abstraction layer, and that's the point of the abstraction layer.

For boinc output --

28-Mar-2013 12:38:46 [---] No config file found - using defaults
28-Mar-2013 12:38:46 [---] Starting BOINC client version 7.0.29 for x86_64-pc-linux-gnu
28-Mar-2013 12:38:46 [---] log flags: file_xfer, sched_ops, task
28-Mar-2013 12:38:46 [---] Libraries: libcurl/7.29.0 OpenSSL/1.0.1c zlib/1.2.7
28-Mar-2013 12:38:46 [---] Data directory: /home/de/media_writeit!/temp(others)/boinc
sh: /usr/lib/virtualbox/VBoxManage: Permission denied
28-Mar-2013 12:38:46 [---] Processor: 4 GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz [Family 6 Model 42 Stepping 7]
28-Mar-2013 12:38:46 [---] Processor: 3.00 MB cache
28-Mar-2013 12:38:46 [---] Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave avx lahf_lm arat epb xsaveopt pln pts dts tpr_shadow vnmi flexpriority ept vpid
28-Mar-2013 12:38:46 [---] OS: Linux: 3.4.2-gentoo-r1
28-Mar-2013 12:38:46 [---] Memory: 7.76 GB physical, 1.00 GB virtual
28-Mar-2013 12:38:46 [---] Disk: 33.90 GB total, 6.77 GB free
28-Mar-2013 12:38:46 [---] Local time is UTC +0 hours
28-Mar-2013 12:38:46 [---] No usable GPUs found
28-Mar-2013 12:38:46 [World Community Grid] URL http://www.worldcommunitygrid.org/; Computer ID 2320875; resource share 100
28-Mar-2013 12:38:46 [World Community Grid] General prefs: from World Community Grid (last modified 01-Jan-1970 05:30:01)
28-Mar-2013 12:38:46 [World Community Grid] Host location: none
28-Mar-2013 12:38:46 [World Community Grid] General prefs: using your defaults
28-Mar-2013 12:38:46 [---] Reading preferences override file
28-Mar-2013 12:38:46 [---] Preferences:
28-Mar-2013 12:38:46 [---]    max memory usage when active: 6750.14MB
28-Mar-2013 12:38:46 [---]    max memory usage when idle: 6750.14MB
28-Mar-2013 12:38:46 [---]    max disk usage: 1.00GB
28-Mar-2013 12:38:46 [---]    (to change preferences, visit the web site of an attached project, or select Preferences in the Manager)
28-Mar-2013 12:38:46 [---] Not using a proxy
Initialization completed
28-Mar-2013 12:38:46 [World Community Grid] Restarting task faah38727_ZINC12784687_xPR_wC6_11_1ref9_02_0 using faah version 715 in slot 2
28-Mar-2013 12:38:46 [World Community Grid] Restarting task faah38738_ZINC13141069_xPR_wC6_11_1ref9_04_1 using faah version 715 in slot 3
28-Mar-2013 12:38:46 [World Community Grid] Restarting task faah38754_ZINC58004074_xPR_wC6_11_1ref9_03_1 using faah version 715 in slot 1
28-Mar-2013 12:38:46 [World Community Grid] Restarting task faah38775_ZINC03257119_xPR_wC6_11_1ref9_04_0 using faah version 715 in slot 0


Instead of looking forward specifically for GPUs (which makes not sense), boinc should check for libOpenCL.so and after that see if the API is working.
7) Message boards : GPUs : OpenCL has no affect. (Message 48347)
Posted 26 Mar 2013 by dE
Post:
Hello everyone!

I've sandy bridge with Intel OpenCL SDK installed. I've the OpenCL library there --

/usr/lib64/libOpenCL.so

Which works with John the ripper, where the binary is linked against this very library.

For trial purposes I downloaded boinc 7.0.58 which does support OpenCL, but after trying out various projects which support ATI chips (i.e. using OpenCL), I didn't find a single binary linked against libOpenCL.so; as a consequence, I didn't see any 'special' rise in temperatures also which's apparent when OpenCL is in use.

And before anyone claims Sandy bridge isn't supported (which appears to be a common myth among Windows users/admins), please show sources for hardware specific OpenCL implementations.




Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.