This is a reason for moving this discussion to Boinc Dev, is to get feed back 
on whether or not it pays to keep the CAL detection in the code. If it should 
remain, then as shown in the project from Github in the link I provided, it 
shows that CAL will work on the AMD GPUs through at least the RX480s and our 
code needs to be updated. If it is decided that CAL is no longer worth using in 
any Boinc project, then it is time to remove the code.



From: Jason Groothuis
So a  reason to support CAL (or other proprietary interfaces), is established 
legacy market base.  Whether the numbers still in operation, or the motivation 
toward keeping or acquiring  legacy farm type customers is important for Boinc 
I have no idea. At the same time the mass shortages of AMD rx series and Nvidia 
GTX 1060s suggests such farms are expanding, and sucking up the inventory, 
therefore by extension adding/maintaining old API/language support may be valid.

 P.S. Are you aware that AMD has gotten the Kronos Group to take over the 
development of the Vulkan API and the Kronos Group plans to merge Opencl and 
Vulkan into one API by the end of 2018? This could cause some headaches next 
year.

 

 

-----Original Message-----
From: Jason Groothuis <jason_grooth...@hotmail.com>
To: David Anderson <da...@ssl.berkeley.edu>; boinc_dev 
<boinc_dev@ssl.berkeley.edu>
Sent: Mon, Aug 21, 2017 9:38 pm
Subject: Re: [boinc_dev] AMD's CAL


TL:DR; CAL is low level, proprietary, and designed/preserved for forward 
compatibility.


History helps:

Like programming the nVidia Cuda driver api  (discouraged for new 
applications),  similar to nVidia's PTX assembly. It generates AMD's IL 
directly.

This was  done with proprietary compilers back in the day ( nvcc on nvidia and 
AMD's equivalent).


In the intervening time, the LLVM (Low level virtual machine) project more or 
less revolutionised compiler development, abstracting out, generalising  and 
standardising many of the most complex compiler design elements, and both 
vendors switched to compilers built on it for performance and stability reasons.


In most cases for new projects new Cuda and OpenCL would be the way to go, 
however recall there places in the world where electricity is cheap/free, and 
there can be found massive mining farms.  While specialised FPGA & ASIC devices 
outstrip GPUs in most of these situations (except etherium by design), Where 
power is cheap/free It doesn't make financial sense to replace the hardware, 
GPUs or applications until they fail.


Maintainers will want a plugin solution for individual nodes that will work 
with existing (old) applications where possible, as it doesn't make sense to 
develop a new application, and maintain several different ones.


So a  reason to support CAL (or other proprietary interfaces), is established 
legacy market base.  Whether the numbers still in operation, or the motivation 
toward keeping or acquiring  legacy farm type customers is important for Boinc 
I have no idea. At the same time the mass shortages of AMD rx series and Nvidia 
GTX 1060s suggests such farms are expanding, and sucking up the inventory, 
therefore by extension adding/maintaining old API/language support may be valid.


________________________________
From: boinc_dev <boinc_dev-boun...@ssl.berkeley.edu> on behalf of David 
Anderson <da...@ssl.berkeley.edu>
Sent: Tuesday, 22 August 2017 10:37
To: boinc_dev@ssl.berkeley.edu
Subject: Re: [boinc_dev] AMD's CAL

What GPU info does the CAL function provide that OpenCL doesn't?
-- David

On 8/21/2017 2:39 PM, Darrell Holz wrote:
> I am moving this response over from the Boinc Alpha list about the 7.8.1 
> startup, because the discussion is more appropriate here. Yes AMD has 
> publically switched from CAL to OpenCl a few years back, but the CAL files 
> are still apart of the driver. Even the new RX Vega drivers still has the 
> files included in them. The question is what are they using them for? I don't 
> believe it is to maintain backwards compatibility, because AMD is very quick 
> at cutting off support for anything they consider legacy. I thought that 
> maybe they were using them as some sort of low level access to the GPU for 
> Opencl, and to test this I renamed the files and restarted Boinc. Low and 
> behold, Opencl has been and is working correctly for over 24 hours now with 
> out the files, so again why are they still apart of the driver and what are 
> they using them for? Here is a link to a project on Github for a AMD GPU 
> assembler and disassembler that uses the CAL and the modifications to get it 
> working on an RX4
 80
>
>   :
>
> [url]https://github.com/zawawawa/CLRX-mirror/commit/05ed08a1cbf1af589a22e329b755592df4b6b61e[/url]
>
> I think that the problem in the Boinc detection of CAL is that it does not 
> properly enumerate all of the possible CAL targets.
>
> Even if Boinc gets the enumeration correct, about the only good thing that 
> the CAL provides now is more information about the capabilities of the GPU. 
> And since no projects that have tasks that run on an AMD GPU that still use a 
> CAL program, the time it might take to get it working correctly might not be 
> worth it for just the increase in info. So in fact it might be better to just 
> remove the CAL detection completely from Boinc reducing its size and startup 
> time.
>
> Log from last restart:
>
> 20-Aug-2017 09:44:08 [---] Starting BOINC client version 7.8.1 for 
> windows_x86_64
> 20-Aug-2017 09:44:19 [---] log flags: file_xfer, sched_ops, task, 
> coproc_debug, cpu_sched, cpu_sched_debug
> 20-Aug-2017 09:44:19 [---] log flags: cpu_sched_status, idle_detection_debug, 
> scrsave_debug, task_debug
> 20-Aug-2017 09:44:19 [---] log flags: unparsed_xml, work_fetch_debug
> 20-Aug-2017 09:44:19 [---] Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8
> 20-Aug-2017 09:44:19 [---] Data directory: C:\ProgramData\BOINC
> 20-Aug-2017 09:44:19 [---] Running under account Darrell
> 20-Aug-2017 09:44:22 [---] [coproc] launching child process at C:\Program 
> Files\BOINC\boinc.exe
> 20-Aug-2017 09:44:22 [---] [coproc] relative to directory C:\ProgramData\BOINC
> 20-Aug-2017 09:44:22 [---] [coproc] with data directory "C:\ProgramData\BOINC"
> 20-Aug-2017 09:44:22 [---] OpenCL: AMD/ATI GPU 0: Radeon (TM) RX 480 Graphics 
> (driver version 2348.4, device version OpenCL 2.0 AMD-APP (2348.4), 8192MB, 
> 8192MB available, 5990 GFLOPS peak)
> 20-Aug-2017 09:44:22 [---] [coproc] No NVIDIA library found
> 20-Aug-2017 09:44:22 [---] [coproc] No ATI library found.
> 20-Aug-2017 09:44:22 [---] [coproc] clGetDeviceInfo failed to get 
> CL_DEVICE_SIMD_PER_COMPUTE_UNIT_AMD for device 0
> 20-Aug-2017 09:44:22 [---] Host name: darrell-II
> 20-Aug-2017 09:44:22 [---] Processor: 6 AuthenticAMD AMD Phenom(tm) II X6 
> 1100T Processor [Family 16 Model 10 Stepping 0]
> 20-Aug-2017 09:44:22 [---] Processor features: fpu vme de pse tsc msr pae mce 
> cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 htt pni 
> cx16 popcnt syscall nx lm svm sse4a osvw ibs skinit wdt page1gb rdtscp 
> 3dnowext 3dnow
> 20-Aug-2017 09:44:22 [---] OS: Microsoft Windows 7: Professional x64 Edition, 
> Service Pack 1, (06.01.7601.00)
> 20-Aug-2017 09:44:22 [---] Memory: 8.00 GB physical, 16.00 GB virtual
> 20-Aug-2017 09:44:22 [---] Disk: 931.41 GB total, 461.93 GB free
> 20-Aug-2017 09:44:22 [---] Local time is UTC -5 hours
> 20-Aug-2017 09:44:22 [---] VirtualBox version: 5.1.26
> 20-Aug-2017 09:44:22 [BURP] Found app_config.xml
> 20-Aug-2017 09:44:22 [Collatz Conjecture] Found app_config.xml
> 20-Aug-2017 09:44:22 [Cosmology@Home] Found app_config.xml
> 20-Aug-2017 09:44:22 [Einstein@Home] Found app_config.xml
> 20-Aug-2017 09:44:22 [Enigma@Home] Found app_config.xml
> 20-Aug-2017 09:44:22 [LHC@home] Found app_config.xml
> 20-Aug-2017 09:44:22 [Milkyway@Home] Found app_config.xml
> 20-Aug-2017 09:44:22 [Moo! Wrapper] Found app_config.xml
> 20-Aug-2017 09:44:22 [PrimeGrid] Found app_config.xml
> 20-Aug-2017 09:44:22 [SETI@home] Found app_config.xml
> 20-Aug-2017 09:44:22 [SETI@home Beta Test] Found app_config.xml
> 20-Aug-2017 09:44:22 [XANSONS for COD] Found app_config.xml
> 20-Aug-2017 09:44:22 [---] Config: event log limit 4000 lines
> 20-Aug-2017 09:44:22 [---] Config: report completed tasks immediately
> 20-Aug-2017 09:44:22 [---] Config: use all coprocessors
> 20-Aug-2017 09:44:23 [Asteroids@home] URL http://asteroidsathome.net/boinc/; 
> Computer ID 9594; resource share 100
Asteroids@home<http://asteroidsathome.net/boinc/>
asteroidsathome.net
About Asteroids@home Asteroids@home is a research project that uses 
Internet-connected computers to do research in Asteroids@home. You can 
participate by downloading ...



> 20-Aug-2017 09:44:23 [BURP] URL http://burp.renderfarming.net/; Computer ID 
> 50245; resource share 120
RenderFarming.net - BURP<http://burp.renderfarming.net/>
burp.renderfarming.net
An opensource BOINC-based project to build an online renderfarm for Blender and 
Cycles that everyone can use for free



> 20-Aug-2017 09:44:23 [climateathome] URL 
> https://climateathome.info/climateathome/; Computer ID 537; resource share 100
Climate@Home Version 2.0<https://climateathome.info/climateathome/>
climateathome.info
About Climate@Home Version 2.0 Climate@Home is a research project that uses 
Internet-connected computers to do research for spatiotemporal computing and ...



> 20-Aug-2017 09:44:23 [climateprediction.net] URL 
> http://climateprediction.net/; Computer ID 1433506; resource share 100
[http://www.climateprediction.net/wp-content/images/hurricane-home.jpg]<http://climateprediction.net/>

climateprediction.net | The world's largest climate 
...<http://climateprediction.net/>
climateprediction.net
Aims to harness the power of PCs in homes and businesses to predict the climate 
of the 21st century. Individuals can register to take part.



> 20-Aug-2017 09:44:23 [Collatz Conjecture] URL 
> https://boinc.thesonntags.com/collatz/; Computer ID 61225; resource share 130
Collatz Conjecture<https://boinc.thesonntags.com/collatz/>
boinc.thesonntags.com
About Collatz Conjecture Collatz is a research project that uses 
Internet-connected computers to do research in mathematics. You can participate 
by ...



> 20-Aug-2017 09:44:23 [Cosmology@Home] URL http://www.cosmologyathome.org/; 
> Computer ID 178996; resource share 100
> 20-Aug-2017 09:44:23 [Einstein@Home] URL http://einstein.phys.uwm.edu/; 
> Computer ID 6364728; resource share 160
> 20-Aug-2017 09:44:23 [Enigma@Home] URL http://www.enigmaathome.net/; Computer 
> ID 48591; resource share 130
Enigma@Home<http://www.enigmaathome.net/>
www.enigmaathome.net
About Enigma@Home Enigma@Home is a wrapper between BOINC and Stefan Krah's M4 
Project. 'The M4 Project is an effort to break 3 original Enigma messages with 
the help ...



> 20-Aug-2017 09:44:23 [LHC@home] URL https://lhcathome.cern.ch/lhcathome/; 
> Computer ID 9915737; resource share 100
LHC@home<https://lhcathome.cern.ch/lhcathome/>
lhcathome.cern.ch
This a research project that uses Internet-connected computers to advance 
Particle and Accelerator Physics. Participate by downloading and running a free 
program on ...



> 20-Aug-2017 09:44:23 [Milkyway@Home] URL 
> http://milkyway.cs.rpi.edu/milkyway/; Computer ID 276775; resource share 150
MilkyWay@Home<http://milkyway.cs.rpi.edu/milkyway/>
milkyway.cs.rpi.edu
User of the day YILMAZ DALKIRAN Hi, From Türkiye. I'm a web designer and the 
vast majority sees me as a web design teacher in my country. I teach HTML5, 
CSS3, jQuery ...



> 20-Aug-2017 09:44:23 [Moo! Wrapper] URL http://moowrap.net/; Computer ID 
> 20083; resource share 140
Moo! Wrapper<http://moowrap.net/>
moowrap.net
About Moo! Wrapper. Moo! Wrapper brings together BOINC volunteer computing 
network resources and the Distributed.net projects. It allows a BOINC Client to 
...



> 20-Aug-2017 09:44:23 [NFS@Home] URL http://escatter11.fullerton.edu/nfs/; 
> Computer ID 1351618; resource share 100
escatter11.fullerton.edu/nfs - NFS@Home<http://escatter11.fullerton.edu/nfs/>
escatter11.fullerton.edu
About NFS@Home NFS@Home is a research project that uses Internet-connected 
computers to do the lattice sieving step in the Number Field Sieve 
factorization of ...



> 20-Aug-2017 09:44:23 [Pirates@Home] URL http://pirates.spy-hill.net/; 
> Computer ID 68764; resource share 165
Pirates@Home<http://pirates.spy-hill.net/>
pirates.spy-hill.net
Pirates@Home is an ongoing test of BOINC, the Berkeley Open Infrastructure for 
Network Computing. At present Pirates@Home is not doing ...



> 20-Aug-2017 09:44:23 [pogs] URL http://pogs.theskynet.org/pogs/; Computer ID 
> 33036; resource share 100
theSkyNet POGS - the PS1 Optical Galaxy Survey<http://pogs.theskynet.org/pogs/>
pogs.theskynet.org
TheSkyNet POGS is a research project that uses Internet-connected computers to 
do research in astronomy. We will combine the spectral coverage of GALEX, 
Pan-STARRS1 ...



> 20-Aug-2017 09:44:23 [PrimeGrid] URL http://www.primegrid.com/; Computer ID 
> 195434; resource share 170
PrimeGrid<http://www.primegrid.com/>
www.primegrid.com
Primegrid's primary goal is to advance mathematics by enabling everyday 
computer users to contribute their system's processing power towards prime 
finding.



> 20-Aug-2017 09:44:23 [Rosetta@home] URL http://boinc.bakerlab.org/rosetta/; 
> Computer ID 1433197; resource share 100
Rosetta@home<http://boinc.bakerlab.org/rosetta/>
boinc.bakerlab.org
By running Rosetta@home on your computer when you're not using it you will 
speed up and extend our efforts to design new proteins and to predict their 
3-dimensional ...



> 20-Aug-2017 09:44:23 [SETI@home] URL http://setiathome.berkeley.edu/; 
> Computer ID 5882763; resource share 160
SETI@home<http://setiathome.berkeley.edu/>
setiathome.berkeley.edu
SETI@home is a scientific experiment, based at UC Berkeley, that uses 
Internet-connected computers in the Search for Extraterrestrial Intelligence 
(SETI). You can ...



> 20-Aug-2017 09:44:23 [SETI@home Beta Test] URL 
> http://setiweb.ssl.berkeley.edu/beta/; Computer ID 50720; resource share 150
The SETI@Home Beta and Astropulse Beta project. - 
SETI@home<http://setiweb.ssl.berkeley.edu/beta/>
setiweb.ssl.berkeley.edu
ARM64 (aarch64) Android client in beta testing This is a bare bones client 
without NEON optimized routines for SETI@home, but does have NEON FFTW routines.



> 20-Aug-2017 09:44:23 [SZTAKI Desktop Grid] URL 
> http://szdg.lpds.sztaki.hu/szdg/; Computer ID 330230; resource share 100
SZDG - SZTAKI Desktop Grid<http://szdg.lpds.sztaki.hu/szdg/>
szdg.lpds.sztaki.hu
Currently searches for generalized binary number systems.



> 20-Aug-2017 09:44:23 [Universe@Home] URL http://universeathome.pl/universe/; 
> Computer ID 73876; resource share 100
Universe@Home GR SOURCES Ulx’s research, physics, 
astronomy<http://universeathome.pl/universe/>
universeathome.pl
About the project Universe@home project's two main goals are: to provide 
scientist with a necessary computational power and; to provide the way of 
involvement for ...



> 20-Aug-2017 09:44:23 [VolPEx] URL http://volpexathome.cs.uh.edu/VolPEx/; 
> Computer ID 5423; resource share 100
[http://volpexathome.cs.uh.edu/VolPEx/img/Calender-white.jpg]<http://volpexathome.cs.uh.edu/VolPEx/>

Volpex@Home<http://volpexathome.cs.uh.edu/VolPEx/>
volpexathome.cs.uh.edu
Join Volpex@Home. VolPEx is a young project with a limited number of 
volunteers. We appreciate everyone's participation and help with the project.



> 20-Aug-2017 09:44:23 [XANSONS for COD] URL 
> http://xansons4cod.com/xansons4cod/; Computer ID 1073; resource share 140
About XANSONS for COD - xansons4cod.com<http://xansons4cod.com/xansons4cod/>
xansons4cod.com
About XANSONS for COD XANSONS for COD is a research project aimed to create an 
open access database of simulated x-ray and neutron powder diffraction patterns 
for ...



> 20-Aug-2017 09:44:23 [SETI@home] General prefs: from SETI@home (last modified 
> 28-May-2017 01:15:47)
> 20-Aug-2017 09:44:23 [SETI@home] Computer location: home
> 20-Aug-2017 09:44:23 [---] General prefs: using separate prefs for home
> 20-Aug-2017 09:44:23 [---] Reading preferences override file
> 20-Aug-2017 09:44:23 [---] Preferences:
> 20-Aug-2017 09:44:23 [---]    max memory usage when active: 6553.04 MB
> 20-Aug-2017 09:44:23 [---]  max memory usage when idle: 7781.74 MB
> 20-Aug-2017 09:44:34 [---]    max disk usage: 200.00 GB
> 20-Aug-2017 09:44:34 [---]    max CPUs used: 5
> 20-Aug-2017 09:44:34 [---]    (to change preferences, visit a project web 
> site or select Preferences in the Manager)
> 20-Aug-2017 09:44:34 [---] [cpu_sched_debug] Request CPU reschedule: Prefs 
> update
> 20-Aug-2017 09:44:34 [---] [work_fetch] Request work fetch: Prefs update
> 20-Aug-2017 09:44:34 [---] [cpu_sched_debug] Request CPU reschedule: Startup
> 20-Aug-2017 09:44:34 [---] [work_fetch] Request work fetch: Startup
> 20-Aug-2017 09:44:37 [SETI@home Beta Test] File 
> projects/setiweb.ssl.berkeley.edu_beta/AstroPulse_Kernels_r2742.cl has wrong 
> size: expected 122344, got 122618
> 20-Aug-2017 09:44:38 Initialization completed
> 20-Aug-2017 09:44:38 [---] [cpu_sched_debug] Request CPU reschedule: Not idle
> 20-Aug-2017 09:44:38 [---] [cpu_sched_debug] Request CPU reschedule: periodic 
> CPU scheduling
> 20-Aug-2017 09:44:38 [---] [cpu_sched_debug] schedule_cpus(): start
>
> With the renaming of the CAL files, Boinc correctly reports that no ATI  
> library is found. OpenCL is found and works, but clDeviceInfo does throw the 
> error about not getting the number of SIMD units, but it does. And Boinc is 
> warning about the Astropulse r2742.cl not being the correct size. It does 
> this because with the last change to the file I made, I forgot to change the 
> file size in the client_state file. (trying to get the Astropulse units to 
> validate, with the recent batch of test units on SetiBeta, I'm still getting 
> some inconclusives thrown, but more of them are validating now, but that's a 
> different problem).
>
> _______________________________________________
> boinc_dev mailing list
> boinc_dev@ssl.berkeley.edu
> https://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
boinc_dev@ssl.berkeley.edu
https://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
boinc_dev@ssl.berkeley.edu
https://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
boinc_dev@ssl.berkeley.edu
https://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