OpenCL .icd file

As per the OpenCL documentation released by Khronos, the ICD loader scans for the vendor .icd file in the registry (on Windows) or in /etc/OpenCL/vendors/ directory (on Linux) to load the platform’s dynamic library.

My question is that in our HPC cluster, the compute nodes that have the NVIDIA GPUs do not have the .icd file in this path and hence the code samples do not work (clPlatformIDs return with the -1001 error). If I were to create the file manually in this path, the changes will be lost upon reboot. Is there a workaround this or is it necessary to have the file in this path?

Most of my searches seemed to indicate the action is predetermined and hardcoded to search in the registry or under /etc/OpenCL/vendors to enumerate the vendor. We have taken care of this in our init. script that runs on the head node that will be executed by the compute nodes on startup so the file can be added to the compute node.