Windows installation package size

Gilles Caulier caulier.gilles at gmail.com
Tue Apr 15 20:02:58 BST 2025


Hi Maik,

A binary under windows cannot be stripped like under Linux. debug
symbols are hosted in a separate file .pdb.

So, the NVIDIA dll is huge as well...

There is also the redistributable status of the NVIDIA sdk. The
response is no, as I can see. So typically we cannot host files in the
digiKam bundle.

This means that dll must be removed from the installer and the end
user must install the both packages from NVIDIA on the target computer
to have the benefit to support OpenCL in digiKAm.

Best

Gilles
Best

Le mar. 15 avr. 2025 à 18:42, Gilles Caulier
<caulier.gilles at gmail.com> a écrit :
>
> Hi,
>
> This is the list of dll file sizes from the NVIDIA sdks on the Windows 10 VM :
>
> CUDA-DNN :
>
> ./CUDNN/v9.8/bin/11.8:
> total 611M
> drwxr-xr-x 1 gilles 197121    0 Apr  9 18:15 ./
> drwxr-xr-x 1 gilles 197121    0 Apr  9 18:15 ../
> -rwxr-xr-x 1 gilles 197121 261K Feb 28 06:09 cudnn64_9.dll*
>      <========
> -rwxr-xr-x 1 gilles 197121 162M Feb 28 06:09 cudnn_adv64_9.dll*
> -rwxr-xr-x 1 gilles 197121 3.8M Feb 28 06:09 cudnn_cnn64_9.dll*
> -rwxr-xr-x 1 gilles 197121 302M Feb 28 06:09 cudnn_engines_precompiled64_9.dll*
> -rwxr-xr-x 1 gilles 197121  23M Feb 28 06:09
> cudnn_engines_runtime_compiled64_9.dll*
> -rwxr-xr-x 1 gilles 197121 2.1M Feb 28 06:09 cudnn_graph64_9.dll*
> -rwxr-xr-x 1 gilles 197121  54M Feb 28 06:09 cudnn_heuristic64_9.dll*
> -rwxr-xr-x 1 gilles 197121  66M Feb 28 06:09 cudnn_ops64_9.dll*
>
> ./CUDNN/v9.8/bin/12.8:
> total 961M
> drwxr-xr-x 1 gilles 197121    0 Apr  9 18:15 ./
> drwxr-xr-x 1 gilles 197121    0 Apr  9 18:15 ../
> -rwxr-xr-x 1 gilles 197121 260K Feb 28 06:03 cudnn64_9.dll*
> -rwxr-xr-x 1 gilles 197121 242M Feb 28 06:03 cudnn_adv64_9.dll*
> -rwxr-xr-x 1 gilles 197121 4.1M Feb 28 06:03 cudnn_cnn64_9.dll*
> -rwxr-xr-x 1 gilles 197121 524M Feb 28 06:03 cudnn_engines_precompiled64_9.dll*
> -rwxr-xr-x 1 gilles 197121  25M Feb 28 06:03
> cudnn_engines_runtime_compiled64_9.dll*
> -rwxr-xr-x 1 gilles 197121 2.2M Feb 28 06:03 cudnn_graph64_9.dll*
> -rwxr-xr-x 1 gilles 197121  54M Feb 28 06:04 cudnn_heuristic64_9.dll*
> -rwxr-xr-x 1 gilles 197121 112M Feb 28 06:04 cudnn_ops64_9.dll*
>
>
>
> CUDA :
>
> gilles at Win10 MINGW64 /c/Program Files/NVIDIA GPU Computing Toolkit
> $ ls -alRh | grep dll
> -rwxr-xr-x 1 gilles 197121 109M Feb 26 08:51 cublas64_12.dll*
>             <=======
> -rwxr-xr-x 1 gilles 197121 644M Feb 26 08:51 cublasLt64_12.dll*
>            <=======
> -rwxr-xr-x 1 gilles 197121 561K Feb 13 12:30 cudart64_12.dll*
> -rwxr-xr-x 1 gilles 197121 264M Mar  4 00:15 cufft64_11.dll*
> -rwxr-xr-x 1 gilles 197121 160K Mar  4 00:15 cufftw64_11.dll*
> -rwxr-xr-x 1 gilles 197121 1.5M Feb 13 12:34 cuinj64_128.dll*
> -rwxr-xr-x 1 gilles 197121  69M Feb 13 12:48 curand64_10.dll*
> -rwxr-xr-x 1 gilles 197121 216M Feb 13 15:12 cusolver64_11.dll*
> -rwxr-xr-x 1 gilles 197121 150M Feb 13 15:12 cusolverMg64_11.dll*
> -rwxr-xr-x 1 gilles 197121 362M Feb 26 09:17 cusparse64_12.dll*
> -rwxr-xr-x 1 gilles 197121 288K Feb 13 13:16 nppc64_12.dll*
> -rwxr-xr-x 1 gilles 197121  20M Feb 13 13:16 nppial64_12.dll*
> -rwxr-xr-x 1 gilles 197121 7.6M Feb 13 13:16 nppicc64_12.dll*
> -rwxr-xr-x 1 gilles 197121  12M Feb 13 13:16 nppidei64_12.dll*
> -rwxr-xr-x 1 gilles 197121 121M Feb 13 13:16 nppif64_12.dll*
> -rwxr-xr-x 1 gilles 197121  52M Feb 13 13:16 nppig64_12.dll*
> -rwxr-xr-x 1 gilles 197121  12M Feb 13 13:16 nppim64_12.dll*
> -rwxr-xr-x 1 gilles 197121  47M Feb 13 13:16 nppist64_12.dll*
> -rwxr-xr-x 1 gilles 197121 382K Feb 13 13:16 nppisu64_12.dll*
> -rwxr-xr-x 1 gilles 197121 5.1M Feb 13 13:16 nppitc64_12.dll*
> -rwxr-xr-x 1 gilles 197121  16M Feb 13 13:16 npps64_12.dll*
> -rwxr-xr-x 1 gilles 197121  75M Feb 22 06:17 nvJitLink_120_0.dll*
> -rwxr-xr-x 1 gilles 197121 328K Feb 26 08:51 nvblas64_12.dll*
> -rwxr-xr-x 1 gilles 197121 830K Feb 13 12:35 nvfatbin_120_0.dll*
> -rwxr-xr-x 1 gilles 197121 5.9M Feb 13 12:46 nvjpeg64_12.dll*
> -rwxr-xr-x 1 gilles 197121 6.1M Feb 22 06:13 nvrtc-builtins64_128.dll*
> -rwxr-xr-x 1 gilles 197121  83M Feb 22 06:13 nvrtc64_120_0.alt.dll*
> -rwxr-xr-x 1 gilles 197121  83M Feb 22 06:13 nvrtc64_120_0.dll*
> -rwxr-xr-x 1 gilles 197121 1.1M Feb 22 05:40 InterceptorInjectionTarget.dll*
> -rwxr-xr-x 1 gilles 197121 1.6M Feb 22 05:40 TreeLauncherTargetInjection.dll*
> -rwxr-xr-x 1 gilles 197121 7.0M Feb 22 05:40 sanitizer-collection.dll*
> -rwxr-xr-x 1 gilles 197121 1.1M Feb 22 05:40 sanitizer-public.dll*
> -rwxr-xr-x 1 gilles 197121 900K Feb 22 05:40 InterceptorInjectionTarget.dll*
> -rwxr-xr-x 1 gilles 197121 1.4M Feb 22 05:40 TreeLauncherTargetInjection.dll*
> -rwxr-xr-x 1 gilles 197121 455K Feb 13 11:45 checkpoint.dll*
> -rwxr-xr-x 1 gilles 197121 4.3M Feb 13 11:45 cupti64_2025.1.1.dll*
> -rwxr-xr-x 1 gilles 197121  21M Feb 13 11:45 nvperf_host.dll*
> -rwxr-xr-x 1 gilles 197121 2.7M Feb 13 11:45 nvperf_target.dll*
> -rwxr-xr-x 1 gilles 197121  65K Feb 13 11:45 pcsamplingutil.dll*
> -rwxr-xr-x 1 gilles 197121 304K Feb 13 16:01 freeglut.dll*
> -rwxr-xr-x 1 gilles 197121 224K Feb 13 16:01 glew64.dll*
> -rwxr-xr-x 1 gilles 197121 260K Feb 13 11:17 Nvda.Build.CudaTasks.v12.8.dll*
> -rwxr-xr-x 1 gilles 197121  56K Feb 22 07:04 eclipse_1603.dll*
> -rwxr-xr-x 1 gilles 197121 51M Feb 22 06:18 nvvm64_40_0.dll*
>
> As you can see, there are 2 CUDA-DNN sdk versions (11.8 and 12.8).
> annotated the 3 files required at run time and embedded in the Windows
> installer.
>
> With objdump, there is no information about symbols (stripped or not).
>
> Gilles
>
> Le mar. 15 avr. 2025 à 11:38, Gilles Caulier
> <caulier.gilles at gmail.com> a écrit :
> >
> > Hi Maik,
> >
> > Yes, it's probably a debug version embedded in the installer. I will
> > double check asap.
> >
> > Best
> >
> > Gilles
> >
> > Le mar. 15 avr. 2025 à 10:48, Maik Qualmann <metzpinguin at gmail.com> a écrit :
> > >
> > > Hi Gilles, The cublas64_12.dll file belonging to NVIDIA CUDA is over 600MB in digiKam. I found it online at just under 100MB. Is it possible that it still has its debug symbols?
> > >
> > > Maik
> > >
> > > Am Di., 15. Apr. 2025 um 09:58 Uhr schrieb Gilles Caulier <caulier.gilles at gmail.com>:
> > >>
> > >> Hi Andrej,
> > >>
> > >> This is a good question. Recently (one week ago) i rebuilt all the
> > >> VCPKG environnement used to build the installers from scratch.
> > >>
> > >> I also fixed a serious problem with the OpenCL detection by OpenCV to
> > >> run the DNN on the GPU (faces workflow, autotags, quality, etc.). This
> > >> is required to install the "famous" NVIDIA SDKs on the Windows 10 VM.
> > >>
> > >> At the end of the installer build, the digiKam scripts parse
> > >> recursively the dependencies, including now, the NVIDIA stuff of
> > >> course. So, I suspect that the NVIDIA SDKs are the source of the
> > >> problem.
> > >>
> > >> Tips: install 8.6.0 and scan the installed files list/size. Do the
> > >> same with 8.7.0 and compare. You will quickly find a first response.
> > >>
> > >> Best
> > >> Gilles Caulier
> > >>
> > >> Le mar. 15 avr. 2025 à 09:33, Andrej Valencic
> > >> <andrej.valencic at zoho.com> a écrit :
> > >> >
> > >> > Hello,
> > >> >
> > >> > Just wondering why is the size of the latest pre-release version (8.7)
> > >> > for Windows so much bigger then the current release version (8.6) -
> > >> > 618MB versus 205MB?
> > >> > This is for the normal exe version of the installer not the debug one.
> > >> >
> > >> > Regards,
> > >> > Andrej


More information about the Digikam-users mailing list