[Info-vax] Some of what I'm reading...

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Mon Jul 1 11:54:12 EDT 2019


On 2019-07-01 02:05:49 +0000, Scott Dorsey said:

> IanD  <iloveopenvms at gmail.com> wrote:
>> The take away for me is that gpus cannot be ignored going forward, they 
>> are pivotal in anything machine learning related and applications 
>> lacking a ma= chine learning component are starting to look a little 
>> tired, especially as= we move into stream based learning models and 
>> workloads. Now SQL execution may start levering them
> 
> The problem here is that much of the internals on the GPUs are either 
> undocumented or poorly documented, so you need to be using the 
> GPU-vendor-provided programming environment and libraries and 
> duplicating that environment is difficult.

I'll take that in reverse...  Programming environments, and then 
graphics hardware documentation...

Related APIs here include NVIDIA CUDA for NVIDIA hardware, and Vulkan. 
Among others.  Among the others, OpenCL is merging into Vulkan, though 
it's still in wide use. OpenGL—which OpenVMS has had some support 
for—is also being replaced by Vulkan.
https://01.org/compute-runtime
https://www.khronos.org/files/vulkan11-reference-guide.pdf

There's support for both CUDA and OpenCL in clang.

https://www.llvm.org/docs/CompileCudaWithLLVM.html
https://github.com/intel/opencl-clang

If you're interested in OpenCL and related computing topics, and with a 
side-helping of why minimum password lengths are necessarily getting 
longer, and why weak hashes are a problem, there's always hashcat:
https://hashcat.net/hashcat/

ATI AMD has piles of doc available, too:
https://gpuopen.com/professional-compute/

OpenCL isn't too bad to use, based on some experimentation with macOS 
(just) prior to the OpenCL deprecation in macOS Mojave 10.14 and the 
advent of Apple Metal.  Clang and OpenCL allow embedding the GPGPU code 
right in the main application source, and OpenCL takes care of 
compiling that into SPIR-V and invoking it on the target hardware.
https://developer.apple.com/opencl/
https://github.com/KhronosGroup/MoltenVK

If you're doing a lot of same-or-very-similar changes over big arrays 
of data and enough that you've gotten your apps CPU-bound—if you're not 
wedged behind I/O or memory—then offloading some of those calculations 
might help reduce run-time.

VSI has (many) other things on the schedule (well) ahead of adding 
support for Vulkan, but they're undoubtedly aware of OpenCL and Vulkan.

Now the use of Clang and the x86-64 support for Intel HD and Iris 
graphics that's all been discussed by VSI (eventually) means less work 
to add OpenCL and/or Vulkan support, though.  For whoever decides to 
add it.  The Intel graphics documentation is available too, which is 
handy for anybody that wants to try this with the embedded Intel 
graphics hardware.
https://01.org/linuxgraphics/documentation

And no, I wouldn't expect Intel or AMD or NVIDIA to be particularly 
working with VSI around graphics and compute support here, either.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list