06-28-2023, 07:30 PM
Some benchmarks will indeed show up faster for OpenCL, but CUDA is still the preferred runtime. Ultimate speed is not the only consideration being made. There are limitations that make OpenCL on Nvidia cards more difficult to work with or more inconsistent than CUDA. A great example is the memory limitations imposed by the OpenCL runtime that, while not directly impacting performance in your ideal work benchmark state, will impact your ability to load different hash lists or attacks. For some reason, Nvidia interprets the OpenCL spec as stating that single allocations are limited to 1/4 the total memory size, which means we must work around that with multiple allocations or be limited to only using 1/4 of the VRAM. CUDA, however, does not have this same limitation.