GH-46165: [C++] Add cuda option to Meson configuration#46166
Conversation
|
|
|
I am unable to fully test this locally as I do not have a CUDA-enabled device. I can configure the project and compile, but at link time I get errors like: /usr/bin/ld: src/arrow/gpu/libarrow-cuda.so.p/cuda_context.cc.o: in function `arrow::cuda::CudaDevice::AllocateHostBuffer(long)':
/home/willayd/clones/arrow/cpp/builddir/../src/arrow/gpu/cuda_context.cc:266:(.text+0xa88): undefined reference to `cuMemHostAlloc'
/usr/bin/ld: src/arrow/gpu/libarrow-cuda.so.p/cuda_context.cc.o: in function `arrow::cuda::CudaDevice::MakeStream(unsigned int)::{lambda(void*)#1}::operator()(void*) const':
/home/willayd/clones/arrow/cpp/builddir/../src/arrow/gpu/cuda_context.cc:286:(.text+0xc29): undefined reference to `cuStreamDestroy_v2'
/usr/bin/ld: src/arrow/gpu/libarrow-cuda.so.p/cuda_context.cc.o: in function `arrow::cuda::CudaDevice::MakeStream(unsigned int)':
/home/willayd/clones/arrow/cpp/builddir/../src/arrow/gpu/cuda_context.cc:280:(.text+0xf1f): undefined reference to `cuStreamCreate'I believe those missing symbols are from drivers that I cannot install, although my familiarity with building CUDA applications is admittedly low |
|
We can build FYI: We can use |
|
@github-actions crossbow submit *meson |
|
Revision: 5b4a4be4ff81439f3a017aae5583dd6303b76b10 Submitted crossbow builds: ursacomputing/crossbow @ actions-c4ce1f69f0
|
|
@github-actions crossbow submit *meson |
|
Revision: e21c24fbe237c1e6bf123f1e69cf6ce817e57210 Submitted crossbow builds: ursacomputing/crossbow @ actions-13cedcf855
|
cef0cfb to
1ab3aa3
Compare
42a767f to
919fdd1
Compare
|
It looks like detecting CUDA installed via Python may need the upcoming Meson 1.9 release to build correctly. We could also try to install on the system instead for current Meson versions, although I think waiting for 1.9 is easiest (should be released soonish) |
b33f7bc to
f083c0c
Compare
264e57a to
02bdb64
Compare
02bdb64 to
aa1d1f8
Compare
Rationale for this change
This continues building out support for Meson as a build system gnerator
What changes are included in this PR?
Adds a cuda option that pulls in the gpu directory
Are these changes tested?
No
Are there any user-facing changes?
No