Skip to content
  • Vicente Bolea's avatar
    Enable shared CUDA builds when not compiling virtuals · d348b111
    Vicente Bolea authored
    
    
    The reason why we did not support shared libraries when CUDA compiles
    were on is that virtual methods require a special linking step to pull
    together all virtual methods that might be called. I other words, you
    cannot call a virtual CUDA method defined inside a library. This
    requirement goes away when virtuals are removed.
    
    Also removed the necessity of using seprable compilation with cuda.
    Again, this is only needed when a CUDA function is defined in one
    translation unit and used in another. Now we can enforce that all
    translation units define their own CUDA functions.
    
    Also, suppress warnings in cuda/internal/ExecutionPolicy.h
    
    This is where we call the thrust algorithms. There must be some loop
    where it, on some code path, calls back a host function. This must be in
    an execution path that never happens. The thrust version has its own
    suppress, but that does not seem to actually suppress the warning (it
    just means that the warning does not tell you where the actual call is).
    
    Get around the problem by suppressing the warnings in VTK-m.
    
    Co-authored-by: default avatarKenneth Moreland <morelandkd@ornl.gov>
    Co-authored-by: Vicente Bolea's avatarVicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
    
    Signed-off-by: Vicente Bolea's avatarVicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
    d348b111
Validating GitLab CI configuration… Learn more