lab-cosmo / sphericart

Multi-language library for the calculation of spherical harmonics in Cartesian coordinates
https://sphericart.readthedocs.io/en/latest/
MIT License
71 stars 12 forks source link

abi::__cxa_demangle #153

Open nickjbrowning opened 3 hours ago

nickjbrowning commented 3 hours ago

OK, could we just remove the depencency on the GCC-specific abi::__cxa_demangle? And use the mangled type here instead?

_Originally posted by @Luthaf in https://github.com/lab-cosmo/sphericart/pull/131#discussion_r1799609138_

nickjbrowning commented 3 hours ago

We need the unmangled types to construct e.g my_kernel<float> or my_kernel<double, int>. See here:

https://github.com/lab-cosmo/sphericart/blob/028b2742dabf6511e17e18f5c377f89f359da4a5/sphericart/src/cuda_base.cpp#L112

Do you have a better idea of doing this? The way I'm doing it is exactly the same way that NVRTC does it in their backend API...