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

The pocl compilation time for the ACA kernel is bizarrely long. #10

Open
tbenthompson opened this issue May 31, 2021 · 1 comment
Open

Comments

@tbenthompson
Copy link
Owner

Most of the OpenCL kernels seem to take about 1-3 seconds to compile with pocl. But, aca.cu takes almost three minutes. The is true on both my machine and the github actions CI servers so I suspect it will replicate elsewhere too.

Ideas:

  • Maybe the problem is just an issue with the pocl conda package and is due to some misconfigured LLVM flags. See here where this issue is suggested: http://portablecl.org/docs/html/faq.html#why-is-pocl-slow
  • The problem vanishes if I turn off optimization flags using -cl-opt-disable. I would actually be okay leaving this flag on all the time. But, that caused some segfault errors! I'm not sure what the problem is there.
  • Obviously the Mako code generation is producing a lot of code, but it's not substantially more code in aca.cu compared to the other kernels like free.cu or block.cu. So, what is causing the compiler to burp here?
@tbenthompson
Copy link
Owner Author

To test this manually:

import os
import numpy as np
import cutde.gpu as gpu

gpu_config = dict(float_type='float', verbose=True)
gpu.load_gpu(
    "aca.cu", tmpl_args=gpu_config, tmpl_dir=os.path.join(os.getcwd(), "cutde")
)

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

1 participant