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

Fix building for GPU with CUDA 12.3.1 #8853

Closed
wants to merge 10 commits into from

Conversation

luhenry
Copy link
Contributor

@luhenry luhenry commented Feb 26, 2024

This change adds just enough support to build Velox with VELOX_ENABLE_GPU=ON with the CUDA 12.3.1 toolchain

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Feb 26, 2024
Copy link

netlify bot commented Feb 26, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit b831fff
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/65f03264c51a0800080c4f91

@luhenry
Copy link
Contributor Author

luhenry commented Feb 26, 2024

Submitting as a separate PR from #8829 as it's delayed with the migration to GHA.

cc @pedroerp @oerling @Yuhta

This change adds just enough support to build Velox with
VELOX_ENABLE_GPU=ON with the CUDA 12.3.1 toolchain
Copy link
Contributor

@pedroerp pedroerp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two small nits, but overall looks good to me. Thank you for helping with this.

# See the License for the specific language governing permissions and
# limitations under the License.
--- a/folly/Conv.h
+++ b/folly/Conv.h
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw you submitted a PR to upstream these changes to folly. What's the status of it? Is it likely to get merged?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have very little visibility whether it will get merged and when. I'll make sure to follow up in the coming days as well.

Makefile Show resolved Hide resolved
Makefile Show resolved Hide resolved
velox/experimental/wave/common/Type.cpp Outdated Show resolved Hide resolved
CMake/ResolveDependency.cmake Show resolved Hide resolved
velox/experimental/wave/exec/CMakeLists.txt Show resolved Hide resolved
velox/core/PlanNode.h Outdated Show resolved Hide resolved
Copy link
Collaborator

@assignUser assignUser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(CMake) LGTM!

@luhenry
Copy link
Contributor Author

luhenry commented Mar 6, 2024

@Yuhta @pedroerp anything else you'd like to get changed before approving? I'll check the code format failing CI right now

@Yuhta
Copy link
Contributor

Yuhta commented Mar 6, 2024

@luhenry There is one failure in CCI: https://circleci.com/gh/facebookincubator/velox/315682

@luhenry
Copy link
Contributor Author

luhenry commented Mar 6, 2024

@Yuhta merging latest facebookincubator:main locally fixed that issue.

@luhenry
Copy link
Contributor Author

luhenry commented Mar 6, 2024

The change to googletest is triggering the build failure on macOS, I'll rework that tomorrow my time

@Yuhta
Copy link
Contributor

Yuhta commented Mar 6, 2024

@luhenry You just need to rebase onto master

@facebook-github-bot
Copy link
Contributor

@Yuhta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@Yuhta
Copy link
Contributor

Yuhta commented Mar 6, 2024

@luhenry Got some compilation error in internal build:

In file included from fbcode/velox/experimental/wave/common/Type.cpp:17:
buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/experimental/wave/common/__velox_wave_common__/buck-headers/velox/experimental/wave/common/Type.h:62:36: error: no matching member function for call to 'format'
    return formatter<std::string>::format(
           ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
buck-out/v2/gen/fbsource/33a526298b2bd7ea/third-party/fmt/___fmtFbcode__/buck-headers/fmt/core.h:3142:1: note: candidate function template not viable: no known conversion from 'std::string_view' (aka 'basic_string_view<char>') to 'const std::basic_string<char>' for 1st argument
FMT_FORMAT_AS(std::basic_string<Char>, basic_string_view<Char>);
^
buck-out/v2/gen/fbsource/33a526298b2bd7ea/third-party/fmt/___fmtFbcode__/buck-headers/fmt/core.h:3129:10: note: expanded from macro 'FMT_FORMAT_AS'
    auto format(Type const& val, FormatContext& ctx) const               \
         ^
1 error generated.

@luhenry
Copy link
Contributor Author

luhenry commented Mar 7, 2024

@Yuhta thanks! It didn't catch with make gpu...

@facebook-github-bot
Copy link
Contributor

@Yuhta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@Yuhta
Copy link
Contributor

Yuhta commented Mar 7, 2024

@luhenry Some more error between nvcc and fmt. If it is too hard, we can delay the support of fmt from GPU code for now:

buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/common/base/__velox_exception__/buck-headers/velox/common/base/FmtStdFormatters.h(98): error: "fmt::detail" is ambiguous

buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/common/base/__velox_exception__/buck-headers/velox/common/base/FmtStdFormatters.h(98): error: nontype "std::enable_if<<error-constant>, void>::type::value" is not a type name

buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/common/base/__velox_exception__/buck-headers/velox/common/base/FmtStdFormatters.h(98): error: expected an identifier

buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/common/base/__velox_exception__/buck-headers/velox/common/base/FmtStdFormatters.h(99): error: expected a ";"

buck-out/v2/gen/fbcode/33a526298b2bd7ea/velox/common/base/__velox_exception__/buck-headers/velox/common/base/FmtStdFormatters.h(105): warning #12-D: parsing restarts here after previous syntax error

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

4 errors detected in the compilation of "fbcode/velox/experimental/wave/exec/ExprKernel.cu".

@luhenry
Copy link
Contributor Author

luhenry commented Mar 7, 2024

@Yuhta is that using a different version of fmt than on the circleci or ubuntu image? I can't reproduce when running make gpu locally. Also, which version of CUDA are you using internally?

@Yuhta
Copy link
Contributor

Yuhta commented Mar 7, 2024

@kgpai Are we using a different versions of fmt internally?

@luhenry The CUDA version should be 12.0, but there might be still some 11.5 in the fleet.

@luhenry
Copy link
Contributor Author

luhenry commented Mar 7, 2024

Let me try compiling with CUDA 11.5 locally see how that goes.

@kgpai
Copy link
Contributor

kgpai commented Mar 7, 2024

@Yuhta Its fmt 9 with some custom patches, but 10 is backwards compatible to 9.

@luhenry
Copy link
Contributor Author

luhenry commented Mar 8, 2024

@Yuhta @kgpai I can reproduce with fmt 9.1 and CUDA 11.5.2 locally:

[1/1] Building CUDA object velox/experimental/w.../CMakeFiles/velox_wave_exec.dir/ExprKernel.cu.o
FAILED: velox/experimental/wave/exec/CMakeFiles/velox_wave_exec.dir/ExprKernel.cu.o 
/usr/local/cuda/bin/nvcc -forward-unknown-to-host-compiler -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CONTEXT_DYN_LINK -DBOOST_CONTEXT_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DFOLLY_HAVE_INT128_T=1 -DGFLAGS_IS_A_DLL=0 -I/usr/local/cuda/targets/x86_64-linux/include -I/workspace/velox-fb/. -I/workspace/velox-fb/velox/external/xxhash -I/workspace/velox-fb/_build/release/_deps/xsimd-src/include -isystem /workspace/velox-fb/velox -isystem /workspace/velox-fb/velox/external -isystem /workspace/velox-fb/_build/release/_deps/folly-src -isystem /workspace/velox-fb/_build/release/_deps/folly-build -isystem /usr/include/libdwarf -isystem /workspace/velox-fb/_build/release/_deps/fmt-src/include -O3 -DNDEBUG -std=c++17 --generate-code=arch=compute_60,code=[compute_60,sm_60] -Xcompiler=-fPIC -fdiagnostics-color=always -MD -MT velox/experimental/wave/exec/CMakeFiles/velox_wave_exec.dir/ExprKernel.cu.o -MF velox/experimental/wave/exec/CMakeFiles/velox_wave_exec.dir/ExprKernel.cu.o.d -x cu -c /workspace/velox-fb/velox/experimental/wave/exec/ExprKernel.cu -o velox/experimental/wave/exec/CMakeFiles/velox_wave_exec.dir/ExprKernel.cu.o
/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(98): error: "fmt::detail" is ambiguous

/opt/rh/gcc-toolset-9/root/usr/include/c++/9/type_traits(2384): error: class "std::enable_if<<error-constant>, void>" has no member "type"
          detected during instantiation of type "std::enable_if_t<<error-constant>, void>" 
/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(98): here

/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(98): error: name followed by "::" must be a class or namespace name

/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(98): error: expected an identifier

/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(99): error: expected a ";"

/workspace/velox-fb/./velox/common/base/FmtStdFormatters.h(105): warning #12-D: parsing restarts here after previous syntax error

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(409): error: "fmt::detail" is ambiguous

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(2812): error: "fmt::detail" is ambiguous

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(2836): error: "fmt::detail" is ambiguous

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(1216): error: "fmt::detail" is ambiguous
          detected during instantiation of "auto fmt::v9::format_int::format_unsigned(UInt)->char * [with UInt=unsigned int]" 
(3677): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(3270): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=fmt::v9::monostate]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(1637): here
            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]" 
(4078): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(1582): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3240): here
            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3374): here
            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(1645): here
            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]" 
(4078): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(1583): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3240): here
            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3374): here
            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(1645): here
            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]" 
(4078): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(3102): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3240): here
            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3374): here
            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(1645): here
            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]" 
(4078): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(1370): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::do_write_float(OutputIt, const DecimalFP &, const fmt::v9::basic_format_specs<Char> &, fmt::v9::detail::float_specs, fmt::v9::detail::locale_ref)->OutputIt [with OutputIt=fmt::v9::appender, DecimalFP=fmt::v9::detail::big_decimal_fp, Char=char, Grouping=fmt::v9::detail::fallback_digit_grouping<char>]" 
(2487): here
            instantiation of "auto fmt::v9::detail::write_float(OutputIt, const DecimalFP &, const fmt::v9::basic_format_specs<Char> &, fmt::v9::detail::float_specs, fmt::v9::detail::locale_ref)->OutputIt [with OutputIt=fmt::v9::appender, DecimalFP=fmt::v9::detail::big_decimal_fp, Char=char]" 
(3233): here
            instantiation of "auto fmt::v9::detail::write(OutputIt, T, fmt::v9::basic_format_specs<Char>, fmt::v9::detail::locale_ref)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3240): here
            instantiation of "auto fmt::v9::detail::write<Char,OutputIt,T,<unnamed>>(OutputIt, T)->OutputIt [with Char=char, OutputIt=fmt::v9::appender, T=float, <unnamed>=0]" 
(3374): here
            instantiation of "auto fmt::v9::detail::default_arg_formatter<Char>::operator()(T)->fmt::v9::detail::default_arg_formatter<Char>::iterator [with Char=char, T=float]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(1645): here
            instantiation of "auto fmt::v9::visit_format_arg(Visitor &&, const fmt::v9::basic_format_arg<Context> &)->decltype((<expression>)) [with Visitor=fmt::v9::detail::default_arg_formatter<char>, Context=fmt::v9::format_context]" 
(4078): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(2362): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::parse_format_specs(const Char *, const Char *, SpecHandler &&)->const Char * [with Char=char, SpecHandler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(4128): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(2459): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::parse_format_specs(const Char *, const Char *, SpecHandler &&)->const Char * [with Char=char, SpecHandler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(4128): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(2338): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::parse_width(const Char *, const Char *, Handler &&)->const Char * [with Char=char, Handler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
(2609): here
            instantiation of "auto fmt::v9::detail::parse_format_specs(const Char *, const Char *, SpecHandler &&)->const Char * [with Char=char, SpecHandler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(4128): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/core.h(2406): error: "fmt::detail" is ambiguous
          detected during:
            instantiation of "auto fmt::v9::detail::parse_arg_id(const Char *, const Char *, IDHandler &&)->const Char * [with Char=char, IDHandler=width_adapter]" 
(2468): here
            instantiation of "auto fmt::v9::detail::parse_width(const Char *, const Char *, Handler &&)->const Char * [with Char=char, Handler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
(2609): here
            instantiation of "auto fmt::v9::detail::parse_format_specs(const Char *, const Char *, SpecHandler &&)->const Char * [with Char=char, SpecHandler=fmt::v9::detail::specs_checker<fmt::v9::detail::specs_handler<char>> &]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/format.h(4128): here
            instantiation of "void fmt::v9::detail::vformat_to(fmt::v9::detail::buffer<Char> &, fmt::v9::basic_string_view<Char>, fmt::v9::basic_format_args<fmt::v9::basic_format_context<fmt::v9::detail::buffer_appender<fmt::v9::type_identity_t<Char>>, fmt::v9::type_identity_t<Char>>>, fmt::v9::detail::locale_ref) [with Char=char]" 
/workspace/velox-fb/_build/release/_deps/fmt-src/include/fmt/ostream.h(193): here

18 errors detected in the compilation of "/workspace/velox-fb/velox/experimental/wave/exec/ExprKernel.cu".

I'll investigate and figure out what we can do to fix that

@luhenry
Copy link
Contributor Author

luhenry commented Mar 8, 2024

I can also confirm that I don't get the same error with CUDA 12.4 and fmt 9.1.

Looking further into the versions, it got fixed in CUDA 12.2.

@luhenry
Copy link
Contributor Author

luhenry commented Mar 12, 2024

@Yuhta @kgpai as the fmt compilation failure is clearly with the compiler version and fixed in later ones (12.2+), should we fix it or simply encode the required version of CUDA in the CMakeLists.txt? What is the migration path at Meta to switch to CUDA 12.2+?

It's failing to compile fmt with older versions
@Yuhta
Copy link
Contributor

Yuhta commented Mar 12, 2024

@luhenry It would be nice to keep it compatible with CUDA 11 for now, because we don't have control over the CUDA version used in build infra

@luhenry luhenry closed this Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants