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.