Closed telegraphic closed 2 years ago
With regards to $GPU_ARCHS
what should happen is that configure has a --with-gpu-archs=... option. It defaults to "auto" which tells it to try to compile/run a simple CUDA program to figure out which archs. the GPUs it find support. If that fails configure fails and you would have to manually set --with-gpu-archs to whatever list you need.
For the DP4A stuff we could toggle that on/off with the $GPU_ARCHS value. If they are all >=61 go for it, otherwise don't.
For recvmsg
that's an interesting one. It looks like that introduced to the Linux kernel way back in 2.6.33 but we can test for that in configure. I'm already doing something similar with sendmmsg since that isn't support in OSX. The interesting part would be whether or not it is worth supporting a networking-less Bifrost. I could see it working for stand alone pipeline style things.
I'm closing this for now but @league and I need to take a closer look at these changes to see what is still valid now that v0.10.0 has been released.
Hi Jayce,
I just merged the the autoconf branch with my repo, which was moderately successful (most unit tests still pass, and the ones that don't didn't before! I'm particularly worried by the non-passing FFT tests).
One thing that needs sorting is that I was using
user.mk
to define whether or not to build certain codes. That is, insrc/Makefile
I have:So that these codes aren't built unless the user enables them (at Molonglo the Linux kernel is old on some machines, so didn't support some of the
recvmsg
UDP socket code!).I couldn't get
./configure; make
to run unless I manually exported$GPU_ARCH
, which was previously set inuser.mk
. What's the best way around this?By the by, I feel that the DP4A-specific codes would be better as plugins, and out of the core bifrost repo. Probably the romein kernels too, and perhaps the FDMT?