You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tvm.apache.org by Tianqi Chen <no...@github.com> on 2020/02/27 22:41:02 UTC

[apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

As we start to move to 0.7, we want to revive the discussion about C++14 requirement. It becomes more important because:

-  The latest LLVM will depend on c++14
-  We  also start to see  needs of a few C++14 features, in particular, ```std::string_view```(it was experimental in c++14) to support some of our container features without introducing a lot boilerplate. 

## Compiler Support Status

gcc5 support c++14, which is enabled in ubuntu 16.04


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Tianqi Chen <no...@github.com>.
GCC5 is enough for c++14 support and should be available in most edge devices. For runtime only support, the community recently introduce a pure C runtime which does not depend on any of the c++ features and can be used for these case

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#issuecomment-596769163

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Tianqi Chen <no...@github.com>.
Closed #4958.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#event-3128183719

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Leonard Lausen <no...@github.com>.
An alternative is to require C++17 which gcc7 supports and ships by default in Ubuntu 18.04.
C++17 compiler can be used on as old systems as RHEL6 / CentOS 6 from 2010, via Redhats devtoolset. Thus GLIBC 2.12 from 2010 is the minimum glibc required for C++17.

One concern mentioned in the discussion thread is about edge device coverage. Is there any data on the edge devices and supported toolchains?

Further

> Seems MXNet (which uses TVM as submodule) is still stuck on c++11?

We can propose requiring C++17 or C++14 in MXNet 2.

> However, we depend some 3rd party code, for example dmlc-core. We should be careful whether it could accept -std=c++14 / -std=c++1y and have correct macro (such as __cplusplus >= 201103L, not __cplusplus == 201103L)

dmlc-core could also introduce a C++17 or C++14 requirement.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#issuecomment-596767825

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Tianqi Chen <no...@github.com>.
#5056 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#issuecomment-598909143

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Leonard Lausen <no...@github.com>.
> GCC5 is enough for c++14 support and should be available in most edge devices.

Is there any overview on the edge devices to be supported and on the latest compiler available?
I'd expect gcc 7 to be available as well, but maybe that assumption is wrong.

> For runtime only support, the community recently introduce a pure C runtime which does not depend on any of the c++ features and can be used for these case

Runtime still requires the glibc version used during compilation. Newer versions of compilers require newer versions of glicb. Thus requiring a newer C++ standard also affects the runtime. Fortunately both gcc5 and gcc7 can run with glibc 2.12 from 2010 and there should be no concerns for runtime.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#issuecomment-596773696

Re: [apache/incubator-tvm] [RFC] Require C++14 in 0.7 release cycle (#4958)

Posted by Tianqi Chen <no...@github.com>.
Discuss thread https://discuss.tvm.ai/t/c-14-requirement-for-0-7/5614

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-tvm/issues/4958#issuecomment-592214662