Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing header files in src/kernels ? #55

Closed
xmontagut opened this issue May 22, 2024 · 8 comments
Closed

Missing header files in src/kernels ? #55

xmontagut opened this issue May 22, 2024 · 8 comments

Comments

@xmontagut
Copy link

Hello,
When trying to install deconwolf :

[ 61%] Building C object CMakeFiles/dw.dir/src/cl_util.c.o
/home/s_montap01/src/deconwolf-0.3.8/src/cl_util.c:4:10: fatal error: kernels/cl_complex_mul.h: No such file or directory
#include "kernels/cl_complex_mul.h"

In the github repo, there are no .h files under "kernels/", and I cannot find cl_complex_mul.h anywhere. Did I miss something

@tangmc0210
Copy link

I met the same problems, too. Expecting to get solved.

@tangmc0210
Copy link

image

@elgw
Copy link
Owner

elgw commented May 28, 2024

Hi!

My apologies, I missed to add info on that.

If you run

make kernels

those files will be generated (if you have xxd installed). I will add the already generated files to the repo in the next update. If you use the dev branch the files are there already.

Cheers,
Erik

@xmontagut
Copy link
Author

xmontagut commented May 29, 2024

Thank you for your answer.
It works after modifying the makefile : I try the compilation on a HPC cluster. The "pkg-config OpenCL" was returning an exit status "false".
I had to change "OpenCL" for "opencl-VERSION" to make it work (after loading the same VERSION of NVidia CUDA "module", which is a commonly used tool to configure a user environment for a specific software version in a cluster). As I don't know pkg-config, perhaps there's a better workaround ?
Regards,
Xavier

@elgw
Copy link
Owner

elgw commented May 29, 2024

Hi Xavier,

Thank you for the update. It is great to hear that you got around the problem.

The CMakeList.txt uses the FindOpenCL module which might be more versatile than my manual makefile, did you also test building with cmake?

I have very little experience with HPC clusters and I wouldn't know what to change to facilitate the build procedure. It would be really useful if you could share what system you are using (workload manager, os etc) and the modifications required to build deconwolf, or if you could point to some online resource where the information can be found.

Cheers,
Erik

@xmontagut
Copy link
Author

I think there's a little misunderstanding.

I had to modify the "makefile" (tol level directory) in order to generate the kernels header files with "make kernels", but otherwise, for the build, I followed your instructions using CMake (mkdir build && cd build && cmake .. && cmake --build .)

There's just a little trick. For "cmake .." to find OpenCL with "find_package(OpenCL)", as CUDA is not installed in a standard directory in our cluster, here are two workarounds :

  • add a symbolic link under "/usr/local/cuda" pointing to the actual location (but you need to be a sysadmin)
  • OR add "-DOpenCL_LIBRARY=$CUDADIR/lib -DOpenCL_INCLUDE_DIR=$CUDADIR/include" to "cmake .." - with CUDADIR a variable with the path of the actual CUDA location. In our case, this variable is set when I load the "cuda" module on the cluster, but this is a local configuration.

Cheers,
Xavier

@tangmc0210
Copy link

Hi!

My apologies, I missed to add info on that.

If you run

make kernels

those files will be generated (if you have xxd installed). I will add the already generated files to the repo in the next update. If you use the dev branch the files are there already.

Cheers, Erik

It works well! Thanks

@elgw
Copy link
Owner

elgw commented May 31, 2024

Thanks to both of you.

This is fixed in version 0.4.0 so I'm closing this issue for now.

I added a link to Xavier's comment in the INSTALL.md since I think that it can be useful in the future.

@elgw elgw closed this as completed May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants