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

Is there any prebuild for libtensorflow available? #44

Open
donglinz opened this issue Nov 25, 2021 · 6 comments
Open

Is there any prebuild for libtensorflow available? #44

donglinz opened this issue Nov 25, 2021 · 6 comments

Comments

@donglinz
Copy link

donglinz commented Nov 25, 2021

Is there any build of libtensorflow available that I can download? I tried to build from source inside a NGC container nvcr.io/nvidia/tensorflow:21.10-tf1-py3, but failed.

Thanks in advance.

@donglinz
Copy link
Author

The branch I tried to build is r1.15.5+nv21.10, I don't think there is any environment issue on my side as I just use NGC container with aligned release version (21.10). It would be highly appreciated if I can get some suggestions on how to build this successfully.

The build configuration is as as below:

[root@i39a12207:/home/xxx/workspace/nvtf/tensorflow# ./configure 
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
You have bazel 0.24.1 installed.
Please specify the location of python. [Default is /usr/bin/python]: 


Found possible Python library paths:
  /usr/lib/python3/dist-packages
  /usr/local/lib/python3.8/dist-packages
Please input the desired Python library path to use.  Default is [/usr/lib/python3/dist-packages]

Do you wish to build TensorFlow with XLA JIT support? [Y/n]: Y
XLA JIT support will be enabled for TensorFlow.

Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]: N
No OpenCL SYCL support will be enabled for TensorFlow.

Do you wish to build TensorFlow with ROCm support? [y/N]: N
No ROCm support will be enabled for TensorFlow.

Do you wish to build TensorFlow with CUDA support? [y/N]: Y
CUDA support will be enabled for TensorFlow.

Do you wish to build TensorFlow with TensorRT support? [y/N]: N
No TensorRT support will be enabled for TensorFlow.

Found CUDA 11.4 in:
    /usr/local/cuda/lib64
    /usr/local/cuda/include
Found cuDNN 8 in:
    /usr/lib/x86_64-linux-gnu
    /usr/include


Please specify a list of comma-separated CUDA compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size, and that TensorFlow only supports compute capabilities >= 3.5 [Default is: 3.5,7.0]: 8.0


Do you want to use clang as CUDA compiler? [y/N]: N
nvcc will be used as CUDA compiler.

Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]: 


Do you wish to build TensorFlow with MPI support? [y/N]: N
No MPI support will be enabled for TensorFlow.

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]: 


Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: N
Not configuring the WORKSPACE for Android builds.

Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details.
	--config=mkl         	# Build with MKL support.
	--config=monolithic  	# Config for mostly static monolithic build.
	--config=gdr         	# Build with GDR support.
	--config=verbs       	# Build with libverbs support.
	--config=ngraph      	# Build with Intel nGraph support.
	--config=numa        	# Build with NUMA support.
	--config=dynamic_kernels	# (Experimental) Build kernels into separate shared objects.
	--config=v2          	# Build TensorFlow 2.x instead of 1.x.
Preconfigured Bazel build configs to DISABLE default on features:
	--config=noaws       	# Disable AWS S3 filesystem support.
	--config=nogcp       	# Disable GCP support.
	--config=nohdfs      	# Disable HDFS support.
	--config=noignite    	# Disable Apache Ignite support.
	--config=nokafka     	# Disable Apache Kafka support.
	--config=nonccl      	# Disable NVIDIA NCCL support.
Preconfigured Bazel build configs to DISABLE default on features:
	--config=noaws       	# Disable AWS S3 filesystem support.
	--config=nogcp       	# Disable GCP support.
	--config=nohdfs      	# Disable HDFS support.
	--config=noignite    	# Disable Apacha Ignite support.
	--config=nokafka     	# Disable Apache Kafka support.
	--config=nonccl      	# Disable NVIDIA NCCL support.
Configuration finished

I build nvtf with command:

 bazel build --jobs=90 //tensorflow/tools/lib_package:libtensorflow

Error message:

ERROR: /home/xxx/workspace/nvtf/tensorflow/tensorflow/compiler/xla/service/cpu/BUILD:583:1: C++ compilation of rule '//tensorflow/compiler/xla/service/cpu:runtime_conv2d_mkl' failed (Exit 1)
In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint:35,
                 from ./tensorflow/core/framework/numeric_types.h:24,
                 from ./tensorflow/compiler/xla/types.h:23,
                 from ./tensorflow/compiler/xla/executable_run_options.h:21,
                 from tensorflow/compiler/xla/service/cpu/runtime_conv2d_mkl.cc:17:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_min(const Packet&) [with Packet = Eigen::internal::Packet16q32i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt32]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:432:16: error: could not convert ‘Eigen::internal::pfirst<__vector(2) long long int>(_mm_min_epi32(res.Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 0>::operator __vector(2) long long int&(), _mm_shuffle_epi32(res.Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 0>::operator __vector(2) long long int&(), ((((0 << 6) | (0 << 4)) | (0 << 2)) | 1))))’ from ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘Eigen::QInt32’
  432 |   return pfirst(
      |          ~~~~~~^
      |                |
      |                Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  433 |       _mm_min_epi32(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_max(const Packet&) [with Packet = Eigen::internal::Packet16q32i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt32]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:444:16: error: could not convert ‘Eigen::internal::pfirst<__vector(2) long long int>(_mm_max_epi32(res.Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 0>::operator __vector(2) long long int&(), _mm_shuffle_epi32(res.Eigen::internal::eigen_packet_wrapper<__vector(2) long long int, 0>::operator __vector(2) long long int&(), ((((0 << 6) | (0 << 4)) | (0 << 2)) | 1))))’ from ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘Eigen::QInt32’
  444 |   return pfirst(
      |          ~~~~~~^
      |                |
      |                Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  445 |       _mm_max_epi32(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_min(const Packet&) [with Packet = Eigen::internal::Packet32q16i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt16]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:456:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  456 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  457 |       _mm_min_epi16(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_max(const Packet&) [with Packet = Eigen::internal::Packet32q16i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt16]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:470:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  470 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  471 |       _mm_max_epi16(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_min(const Packet&) [with Packet = Eigen::internal::Packet64q8u; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QUInt8]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:484:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  484 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  485 |       _mm_min_epu8(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_max(const Packet&) [with Packet = Eigen::internal::Packet64q8u; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QUInt8]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:499:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  499 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  500 |       _mm_max_epu8(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_min(const Packet&) [with Packet = Eigen::internal::Packet64q8i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt8]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:514:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  514 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  515 |       _mm_min_epi8(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h: In function ‘typename Eigen::internal::unpacket_traits<T>::type Eigen::internal::predux_max(const Packet&) [with Packet = Eigen::internal::Packet64q8i; typename Eigen::internal::unpacket_traits<T>::type = Eigen::QInt8]’:
./third_party/eigen3/unsupported/Eigen/CXX11/src/FixedPoint/PacketMathAVX512.h:529:27: error: cannot convert ‘Eigen::internal::unpacket_traits<__vector(2) long long int>::type’ {aka ‘__vector(2) long long int’} to ‘uint32_t’ {aka ‘unsigned int’} in initialization
  529 |   std::uint32_t w = pfirst(
      |                     ~~~~~~^
      |                           |
      |                           Eigen::internal::unpacket_traits<__vector(2) long long int>::type {aka __vector(2) long long int}
  530 |       _mm_max_epi8(res, _mm_shuffle_epi32(res, _MM_SHUFFLE(0, 0, 0, 1))));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Target //tensorflow/tools/lib_package:libtensorflow failed to build
Use --verbose_failures to see the command lines of failed build steps.

@nluehr
Copy link
Contributor

nluehr commented Dec 2, 2021

Source build instructions are now included in the README. Can you try building with those?

@burness
Copy link
Contributor

burness commented Dec 3, 2021

./tensorflow/core/kernels/cwise_ops_common.h:268:45: required from 'void tensorflow::UnaryOp<Device, Functor>::Compute(tensorflow::OpKernelContext*) [with Device = Eigen::ThreadPoolDevice; Functor = tensorflow::functor::get_angle<std::complex >]'
tensorflow/core/kernels/cwise_op_arg.cc:35:1: required from here
external/eigen_archive/Eigen/src/Core/MathFunctions.h:1255:49: error: cannot convert 'std::complex' to 'Eigen::internal::arg_retval<std::complex >::type {aka float}' in return
@nluehr @donglinz I have build libtensorflow also meet an issue, it seems to be caused by Eigen

@nluehr
Copy link
Contributor

nluehr commented Dec 3, 2021

Using the build instructions in the README and r1.15.5+nv21.11 branch, I can build //tensorflow/tools/lib_package:libtensorflow without error. @burness, please provide details of your build environment along with the commands you are using to configure and build.

@burness
Copy link
Contributor

burness commented Dec 6, 2021

The build command is :

bazel build --config=opt --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0 --verbose_failures //tensorflow/tools/lib_package:libtensorflow

and the build environment is centos 7.5 and gcc version is 7.3.1

@nluehr
And I build the google tensorflow r1.15 branch successfully in the same environment. Can I use the nvidia-tensorflow when training and inference with the google tensorflow r1.15 libtensorflow?

And the detail log, It seems to be caused by eigen data type convertion:

tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'bool tensorflow::BFCAllocator::MergeTimestampedChunks(size_t)':
tensorflow/core/common_runtime/bfc_allocator.cc:711:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (h == kInvalidChunkHandle) {
         ~~^~~~~~~~~~~~~~~~~~~~~~
tensorflow/core/common_runtime/bfc_allocator.cc:740:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int ci = 0; ci < to_merge.size(); ++ci) {
                    ~~~^~~~~~~~~~~~~~~~~
tensorflow/core/common_runtime/bfc_allocator.cc:746:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (h == kInvalidChunkHandle) continue;
         ~~^~~~~~~~~~~~~~~~~~~~~~
In file included from ./tensorflow/core/platform/default/logging.h:27:0,
                 from ./tensorflow/core/platform/logging.h:35,
                 from ./tensorflow/core/lib/core/status.h:25,
                 from ./tensorflow/core/lib/core/errors.h:22,
                 from ./tensorflow/core/platform/env.h:24,
                 from ./tensorflow/core/common_runtime/allocator_retry.h:19,
                 from ./tensorflow/core/common_runtime/bfc_allocator.h:27,
                 from tensorflow/core/common_runtime/bfc_allocator.cc:16:
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'virtual size_t tensorflow::BFCAllocator::RequestedSize(const void*) const':
tensorflow/core/common_runtime/bfc_allocator.cc:778:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(h != kInvalidChunkHandle)
         ~~^~~~
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
tensorflow/core/common_runtime/bfc_allocator.cc:778:3: note: in expansion of macro 'CHECK'
   CHECK(h != kInvalidChunkHandle)
   ^
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'virtual size_t tensorflow::BFCAllocator::AllocatedSize(const void*) const':
tensorflow/core/common_runtime/bfc_allocator.cc:787:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(h != kInvalidChunkHandle)
         ~~^~~~
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
tensorflow/core/common_runtime/bfc_allocator.cc:787:3: note: in expansion of macro 'CHECK'
   CHECK(h != kInvalidChunkHandle)
   ^
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'virtual tensorflow::int64 tensorflow::BFCAllocator::AllocationId(const void*) const':
tensorflow/core/common_runtime/bfc_allocator.cc:796:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(h != kInvalidChunkHandle)
         ~~^~~~
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
tensorflow/core/common_runtime/bfc_allocator.cc:796:3: note: in expansion of macro 'CHECK'
   CHECK(h != kInvalidChunkHandle)
   ^
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'std::string tensorflow::BFCAllocator::RenderOccupancy()':
tensorflow/core/common_runtime/bfc_allocator.cc:851:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (h != kInvalidChunkHandle) {
            ~~^~~~~~~~~~~~~~~~~~~~~~
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'void tensorflow::BFCAllocator::DumpMemoryLog(size_t)':
tensorflow/core/common_runtime/bfc_allocator.cc:912:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (h != kInvalidChunkHandle) {
            ~~^~~~~~~~~~~~~~~~~~~~~~
tensorflow/core/common_runtime/bfc_allocator.cc: In member function 'std::array<tensorflow::BFCAllocator::BinDebugInfo, 21> tensorflow::BFCAllocator::get_bin_debug_info()':
tensorflow/core/common_runtime/bfc_allocator.cc:961:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (h != kInvalidChunkHandle) {
            ~~^~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/stream_executor/device_description.cc [for host]:
tensorflow/stream_executor/device_description.cc: In function 'bool stream_executor::ThreadDimOk(const stream_executor::DeviceDescription&, const stream_executor::ThreadDim&)':
tensorflow/stream_executor/device_description.cc:129:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (total_threads > threads_per_block_limit) {
       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/core/framework/allocator_registry.cc [for host]:
tensorflow/core/framework/allocator_registry.cc: In member function 'tensorflow::SubAllocator* tensorflow::AllocatorFactoryRegistry::GetSubAllocator(int)':
tensorflow/core/framework/allocator_registry.cc:116:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (best_entry->sub_allocators.size() < (index + 1)) {
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
INFO: From Compiling tensorflow/core/grappler/costs/op_level_cost_estimator.cc [for host]:
tensorflow/core/grappler/costs/op_level_cost_estimator.cc: In function 'bool tensorflow::grappler::{anonymous}::CheckRepeatedDimensions(const string&)':
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:199:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int idx = 0; idx < dim_str.size() - 1; idx++) {
                     ~~~~^~~~~~~~~~~~~~~~~~~~
tensorflow/core/grappler/costs/op_level_cost_estimator.cc: In member function 'tensorflow::grappler::Costs tensorflow::grappler::OpLevelCostEstimator::PredictEinsum(const tensorflow::grappler::OpContext&) const':
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:1395:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (a_input_str.size() != a_input_shape.dim_size() ||
       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:1396:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       b_input_str.size() != b_input_shape.dim_size()) {
       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:1438:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i_idx = 0; i_idx < a_input_str.size(); ++i_idx) {
                       ~~~~~~^~~~~~~~~~~~~~~~~~~~
tensorflow/core/grappler/costs/op_level_cost_estimator.cc:1458:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i_idx = 0; i_idx < b_input_str.size(); ++i_idx) {
                       ~~~~~~^~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/core/profiler/nvtx_utils.cc [for host]:
tensorflow/core/profiler/nvtx_utils.cc: In function 'std::string tensorflow::nvtx::detail::GetNodeExecutionRangeMessageImpl(const tensorflow::OpKernel*, const absl::InlinedVector<const tensorflow::Tensor*, 4>&)':
tensorflow/core/profiler/nvtx_utils.cc:219:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < input_tensors.size(); ++i) {
                     ~~^~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/core/framework/cpu_allocator_impl.cc [for host]:
tensorflow/core/framework/cpu_allocator_impl.cc: In member function 'virtual void* tensorflow::{anonymous}::CPUAllocator::AllocateRaw(size_t, size_t)':
tensorflow/core/framework/cpu_allocator_impl.cc:78:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (num_bytes > LargeAllocationWarningBytes() &&
         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/core/kernels/initializable_lookup_table.cc [for host]:
tensorflow/core/kernels/initializable_lookup_table.cc: In member function 'virtual tensorflow::Status tensorflow::lookup::InitializableLookupTable::AreEntriesSame(const tensorflow::lookup::InitializableLookupTable::InitTableIterator&, bool*)':
tensorflow/core/kernels/initializable_lookup_table.cc:80:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   *result = iter.total_size() == size();
             ~~~~~~~~~~~~~~~~~~^~~~~~~~~
INFO: From Compiling tensorflow/core/kernels/lookup_util.cc [for host]:
tensorflow/core/kernels/lookup_util.cc: In member function 'virtual void tensorflow::lookup::{anonymous}::TextFileLineIterator::Next()':
tensorflow/core/kernels/lookup_util.cc:133:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if (std::max(key_index_, value_index_) >= tokens.size()) {
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/stream_executor/stream_executor_pimpl.cc [for host]:
tensorflow/stream_executor/stream_executor_pimpl.cc: In member function 'stream_executor::DeviceMemoryBase stream_executor::StreamExecutor::Allocate(tensorflow::uint64, tensorflow::int64)':
tensorflow/stream_executor/stream_executor_pimpl.cc:538:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       mem_alloc_bytes_ + size > memory_limit_bytes_) {
       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from ./tensorflow/core/platform/default/logging.h:27:0,
                 from ./tensorflow/core/platform/logging.h:35,
                 from ./tensorflow/core/lib/core/status.h:25,
                 from ./tensorflow/core/lib/core/errors.h:22,
                 from ./tensorflow/stream_executor/device_memory_allocator.h:23,
                 from ./tensorflow/stream_executor/stream_executor_pimpl.h:28,
                 from tensorflow/stream_executor/stream_executor_pimpl.cc:20:
./tensorflow/core/platform/default/logging.h: In instantiation of 'std::string* tensorflow::internal::Check_EQImpl(const T1&, const T2&, const char*) [with T1 = int; T2 = long long unsigned int; std::string = std::basic_string<char>]':
tensorflow/stream_executor/stream_executor_pimpl.cc:776:3:   required from here
./tensorflow/core/platform/default/logging.h:283:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                         ==)  // Compilation error with CHECK_EQ(NULL, x)?
./tensorflow/core/platform/macros.h:88:49: note: in definition of macro 'TF_PREDICT_TRUE'
 #define TF_PREDICT_TRUE(x) (__builtin_expect(!!(x), 1))
                                                 ^
./tensorflow/core/platform/default/logging.h:282:1: note: in expansion of macro 'TF_DEFINE_CHECK_OP_IMPL'
 TF_DEFINE_CHECK_OP_IMPL(Check_EQ,
 ^~~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling tensorflow/stream_executor/stream.cc [for host]:
tensorflow/stream_executor/stream.cc: In member function 'stream_executor::Stream* stream_executor::Stream::GetOrCreateSubStream()':
tensorflow/stream_executor/stream.cc:2533:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int64 index = 0; index < sub_streams_.size();) {
                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~
tensorflow/stream_executor/stream.cc: In member function 'void stream_executor::Stream::ReturnSubStream(stream_executor::Stream*)':
tensorflow/stream_executor/stream.cc:2579:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int64 index = 0; index < sub_streams_.size(); ++index) {
                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~
ERROR: /work/ntensorflow/tensorflow/core/kernels/BUILD:3829:1: C++ compilation of rule '//tensorflow/core/kernels:cwise_op' failed (Exit 1): gcc failed: error executing command
  (cd /root/.cache/bazel/_bazel_root/aa196f833e0f7dbca9b4aad2483c2129/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64/dyninst:/opt/rh/devtoolset-7/root/usr/lib/dyninst:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64/dyninst:/opt/rh/devtoolset-7/root/usr/lib/dyninst:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib::/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64//jre/lib/amd64/server:/app/hadoop/lib/native:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64//jre/lib/amd64/server:/app/hadoop/lib/native \
    PATH=/opt/rh/devtoolset-7/root/usr/bin:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64//bin:/app/hive/bin:/app/hadoop/bin:/app/spark/bin:/app/anaconda3/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/app/hadoop/bin/:/app/cmake-3.19.0-Linux-x86_64/bin \
    PWD=/proc/self/cwd \
    PYTHON_BIN_PATH=/app/anaconda3/bin/python \
    PYTHON_LIB_PATH=/app/anaconda3/lib/python3.7/site-packages \
    TF2_BEHAVIOR=0 \
    TF_CONFIGURE_IOS=0 \
    TF_USE_CCACHE=0 \
  /opt/rh/devtoolset-7/root/usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++0x' -MD -MF bazel-out/k8-opt/bin/tensorflow/core/kernels/_objs/cwise_op/cwise_op_arg.pic.d '-frandom-seed=bazel-out/k8-opt/bin/tensorflow/core/kernels/_objs/cwise_op/cwise_op_arg.pic.o' -fPIC -D__CLANG_SUPPORT_DYN_ANNOTATION__ -DEIGEN_MPL2_ONLY '-DEIGEN_MAX_ALIGN_BYTES=64' '-DEIGEN_HAS_TYPE_TRAITS=0' -DTF_USE_SNAPPY -DCURL_STATICLIB -DPLATFORM_LINUX -DENABLE_CURL_CLIENT -DENABLE_NO_ENCRYPTION -iquote . -iquote bazel-out/k8-opt/genfiles -iquote bazel-out/k8-opt/bin -iquote external/com_google_absl -iquote bazel-out/k8-opt/genfiles/external/com_google_absl -iquote bazel-out/k8-opt/bin/external/com_google_absl -iquote external/eigen_archive -iquote bazel-out/k8-opt/genfiles/external/eigen_archive -iquote bazel-out/k8-opt/bin/external/eigen_archive -iquote external/local_config_sycl -iquote bazel-out/k8-opt/genfiles/external/local_config_sycl -iquote bazel-out/k8-opt/bin/external/local_config_sycl -iquote external/nsync -iquote bazel-out/k8-opt/genfiles/external/nsync -iquote bazel-out/k8-opt/bin/external/nsync -iquote external/gif_archive -iquote bazel-out/k8-opt/genfiles/external/gif_archive -iquote bazel-out/k8-opt/bin/external/gif_archive -iquote external/jpeg -iquote bazel-out/k8-opt/genfiles/external/jpeg -iquote bazel-out/k8-opt/bin/external/jpeg -iquote external/com_google_protobuf -iquote bazel-out/k8-opt/genfiles/external/com_google_protobuf -iquote bazel-out/k8-opt/bin/external/com_google_protobuf -iquote external/com_googlesource_code_re2 -iquote bazel-out/k8-opt/genfiles/external/com_googlesource_code_re2 -iquote bazel-out/k8-opt/bin/external/com_googlesource_code_re2 -iquote external/farmhash_archive -iquote bazel-out/k8-opt/genfiles/external/farmhash_archive -iquote bazel-out/k8-opt/bin/external/farmhash_archive -iquote external/fft2d -iquote bazel-out/k8-opt/genfiles/external/fft2d -iquote bazel-out/k8-opt/bin/external/fft2d -iquote external/highwayhash -iquote bazel-out/k8-opt/genfiles/external/highwayhash -iquote bazel-out/k8-opt/bin/external/highwayhash -iquote external/zlib_archive -iquote bazel-out/k8-opt/genfiles/external/zlib_archive -iquote bazel-out/k8-opt/bin/external/zlib_archive -iquote external/double_conversion -iquote bazel-out/k8-opt/genfiles/external/double_conversion -iquote bazel-out/k8-opt/bin/external/double_conversion -iquote external/curl -iquote bazel-out/k8-opt/genfiles/external/curl -iquote bazel-out/k8-opt/bin/external/curl -iquote external/boringssl -iquote bazel-out/k8-opt/genfiles/external/boringssl -iquote bazel-out/k8-opt/bin/external/boringssl -iquote external/jsoncpp_git -iquote bazel-out/k8-opt/genfiles/external/jsoncpp_git -iquote bazel-out/k8-opt/bin/external/jsoncpp_git -iquote external/aws -iquote bazel-out/k8-opt/genfiles/external/aws -iquote bazel-out/k8-opt/bin/external/aws -isystem external/eigen_archive -isystem bazel-out/k8-opt/genfiles/external/eigen_archive -isystem bazel-out/k8-opt/bin/external/eigen_archive -isystem external/nsync/public -isystem bazel-out/k8-opt/genfiles/external/nsync/public -isystem bazel-out/k8-opt/bin/external/nsync/public -isystem external/gif_archive -isystem bazel-out/k8-opt/genfiles/external/gif_archive -isystem bazel-out/k8-opt/bin/external/gif_archive -isystem external/com_google_protobuf/src -isystem bazel-out/k8-opt/genfiles/external/com_google_protobuf/src -isystem bazel-out/k8-opt/bin/external/com_google_protobuf/src -isystem external/farmhash_archive/src -isystem bazel-out/k8-opt/genfiles/external/farmhash_archive/src -isystem bazel-out/k8-opt/bin/external/farmhash_archive/src -isystem external/zlib_archive -isystem bazel-out/k8-opt/genfiles/external/zlib_archive -isystem bazel-out/k8-opt/bin/external/zlib_archive -isystem external/double_conversion -isystem bazel-out/k8-opt/genfiles/external/double_conversion -isystem bazel-out/k8-opt/bin/external/double_conversion -isystem external/curl/include -isystem bazel-out/k8-opt/genfiles/external/curl/include -isystem bazel-out/k8-opt/bin/external/curl/include -isystem external/boringssl/src/include -isystem bazel-out/k8-opt/genfiles/external/boringssl/src/include -isystem bazel-out/k8-opt/bin/external/boringssl/src/include -isystem external/jsoncpp_git/include -isystem bazel-out/k8-opt/genfiles/external/jsoncpp_git/include -isystem bazel-out/k8-opt/bin/external/jsoncpp_git/include -isystem external/aws/aws-cpp-sdk-core/include -isystem bazel-out/k8-opt/genfiles/external/aws/aws-cpp-sdk-core/include -isystem bazel-out/k8-opt/bin/external/aws/aws-cpp-sdk-core/include -isystem external/aws/aws-cpp-sdk-kinesis/include -isystem bazel-out/k8-opt/genfiles/external/aws/aws-cpp-sdk-kinesis/include -isystem bazel-out/k8-opt/bin/external/aws/aws-cpp-sdk-kinesis/include -isystem external/aws/aws-cpp-sdk-s3/include -isystem bazel-out/k8-opt/genfiles/external/aws/aws-cpp-sdk-s3/include -isystem bazel-out/k8-opt/bin/external/aws/aws-cpp-sdk-s3/include -w '-march=native' -Wno-sign-compare '-std=c++14' '-D_GLIBCXX_USE_CXX11_ABI=0' -DEIGEN_AVOID_STL_ARRAY -Iexternal/gemmlowp -Wno-sign-compare '-ftemplate-depth=900' -fno-exceptions '-DGOOGLE_NCCL=1' -msse3 -pthread '-DGOOGLE_NCCL=1' -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c tensorflow/core/kernels/cwise_op_arg.cc -o bazel-out/k8-opt/bin/tensorflow/core/kernels/_objs/cwise_op/cwise_op_arg.pic.o)
Execution platform: @bazel_tools//platforms:host_platform
In file included from external/eigen_archive/Eigen/Core:165:0,
                 from ./third_party/eigen3/Eigen/Core:1,
                 from ./tensorflow/core/lib/strings/strcat.h:29,
                 from ./tensorflow/core/lib/core/errors.h:24,
                 from ./tensorflow/core/framework/op.h:26,
                 from ./tensorflow/core/kernels/cwise_ops_common.h:29,
                 from tensorflow/core/kernels/cwise_op_arg.cc:16:
external/eigen_archive/Eigen/src/Core/MathFunctions.h: In instantiation of 'typename Eigen::internal::arg_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::arg(const Scalar&) [with Scalar = std::complex<double>; typename Eigen::internal::arg_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = double]':
external/eigen_archive/Eigen/src/Core/functors/UnaryFunctors.h:141:114:   required from 'const result_type Eigen::internal::scalar_arg_op<Scalar>::operator()(const Scalar&) const [with Scalar = std::complex<double>; Eigen::internal::scalar_arg_op<Scalar>::result_type = double]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:506:44:   required from 'Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::CoeffReturnType Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::coeff(Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::Index) const [with UnaryOp = Eigen::internal::scalar_arg_op<std::complex<double> >; ArgType = const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer>; Device = Eigen::ThreadPoolDevice; Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::CoeffReturnType = double; Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::Index = long int]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:172:28:   required from 'void Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::evalScalar(Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::Index) [with LeftArgType = Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>; RightArgType = const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<double> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer> >; Device = Eigen::ThreadPoolDevice; Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::Index = long int]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:276:7:   required from 'static void Eigen::internal::EvalRange<Evaluator, StorageIndex, Vectorizable>::run(Evaluator*, StorageIndex, StorageIndex) [with Evaluator = Eigen::TensorEvaluator<const Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>, const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<double> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer> > >, Eigen::ThreadPoolDevice>; StorageIndex = long int; bool Vectorizable = false]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:341:42:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:338:7:   required from 'static void Eigen::internal::TensorExecutor<Expression, Eigen::ThreadPoolDevice, Vectorizable, Tiling>::run(const Expression&, const Eigen::ThreadPoolDevice&) [with Expression = const Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>, const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<double> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer> > >; bool Vectorizable = false; Eigen::internal::TiledEvaluation Tiling = (Eigen::internal::TiledEvaluation)0]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:62:   required from 'Eigen::TensorDevice<ExpressionType, DeviceType>& Eigen::TensorDevice<ExpressionType, DeviceType>::operator=(const OtherDerived&) [with OtherDerived = Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<double> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer> >; ExpressionType = Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>; DeviceType = Eigen::ThreadPoolDevice]'
./tensorflow/core/kernels/cwise_ops_common.h:297:17:   required from 'void tensorflow::functor::Assign(const D&, Out, Rhs) [with D = Eigen::ThreadPoolDevice; Out = Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>; Rhs = Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<double> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer> >]'
./tensorflow/core/kernels/cwise_ops_common.h:560:11:   required from 'void tensorflow::functor::UnaryFunctor<Eigen::ThreadPoolDevice, Functor>::operator()(const CPUDevice&, typename Functor::tout_type, typename Functor::tin_type) [with Functor = tensorflow::functor::get_angle<std::complex<double> >; tensorflow::functor::CPUDevice = Eigen::ThreadPoolDevice; typename Functor::tout_type = Eigen::TensorMap<Eigen::Tensor<double, 1, 1, long int>, 16, Eigen::MakePointer>; typename Functor::tin_type = Eigen::TensorMap<Eigen::Tensor<const std::complex<double>, 1, 1, long int>, 16, Eigen::MakePointer>]'
./tensorflow/core/kernels/cwise_ops_common.h:268:45:   required from 'void tensorflow::UnaryOp<Device, Functor>::Compute(tensorflow::OpKernelContext*) [with Device = Eigen::ThreadPoolDevice; Functor = tensorflow::functor::get_angle<std::complex<double> >]'
tensorflow/core/kernels/cwise_op_arg.cc:35:1:   required from here
external/eigen_archive/Eigen/src/Core/MathFunctions.h:1255:49: error: cannot convert 'std::complex<double>' to 'Eigen::internal::arg_retval<std::complex<double> >::type {aka double}' in return
   return EIGEN_MATHFUNC_IMPL(arg, Scalar)::run(x);
                                                 ^
external/eigen_archive/Eigen/src/Core/MathFunctions.h: In instantiation of 'typename Eigen::internal::arg_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::arg(const Scalar&) [with Scalar = std::complex<float>; typename Eigen::internal::arg_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float]':
external/eigen_archive/Eigen/src/Core/functors/UnaryFunctors.h:141:114:   required from 'const result_type Eigen::internal::scalar_arg_op<Scalar>::operator()(const Scalar&) const [with Scalar = std::complex<float>; Eigen::internal::scalar_arg_op<Scalar>::result_type = float]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h:506:44:   required from 'Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::CoeffReturnType Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::coeff(Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::Index) const [with UnaryOp = Eigen::internal::scalar_arg_op<std::complex<float> >; ArgType = const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer>; Device = Eigen::ThreadPoolDevice; Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::CoeffReturnType = float; Eigen::TensorEvaluator<const Eigen::TensorCwiseUnaryOp<UnaryOp, ArgType>, Device>::Index = long int]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:172:28:   required from 'void Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::evalScalar(Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::Index) [with LeftArgType = Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>; RightArgType = const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<float> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer> >; Device = Eigen::ThreadPoolDevice; Eigen::TensorEvaluator<const Eigen::TensorAssignOp<LhsXprType, RhsXprType>, Device>::Index = long int]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:276:7:   required from 'static void Eigen::internal::EvalRange<Evaluator, StorageIndex, Vectorizable>::run(Evaluator*, StorageIndex, StorageIndex) [with Evaluator = Eigen::TensorEvaluator<const Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>, const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<float> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer> > >, Eigen::ThreadPoolDevice>; StorageIndex = long int; bool Vectorizable = false]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:341:42:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h:338:7:   required from 'static void Eigen::internal::TensorExecutor<Expression, Eigen::ThreadPoolDevice, Vectorizable, Tiling>::run(const Expression&, const Eigen::ThreadPoolDevice&) [with Expression = const Eigen::TensorAssignOp<Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>, const Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<float> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer> > >; bool Vectorizable = false; Eigen::internal::TiledEvaluation Tiling = (Eigen::internal::TiledEvaluation)0]'
external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h:37:62:   required from 'Eigen::TensorDevice<ExpressionType, DeviceType>& Eigen::TensorDevice<ExpressionType, DeviceType>::operator=(const OtherDerived&) [with OtherDerived = Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<float> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer> >; ExpressionType = Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>; DeviceType = Eigen::ThreadPoolDevice]'
./tensorflow/core/kernels/cwise_ops_common.h:297:17:   required from 'void tensorflow::functor::Assign(const D&, Out, Rhs) [with D = Eigen::ThreadPoolDevice; Out = Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>; Rhs = Eigen::TensorCwiseUnaryOp<Eigen::internal::scalar_arg_op<std::complex<float> >, const Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer> >]'
./tensorflow/core/kernels/cwise_ops_common.h:560:11:   required from 'void tensorflow::functor::UnaryFunctor<Eigen::ThreadPoolDevice, Functor>::operator()(const CPUDevice&, typename Functor::tout_type, typename Functor::tin_type) [with Functor = tensorflow::functor::get_angle<std::complex<float> >; tensorflow::functor::CPUDevice = Eigen::ThreadPoolDevice; typename Functor::tout_type = Eigen::TensorMap<Eigen::Tensor<float, 1, 1, long int>, 16, Eigen::MakePointer>; typename Functor::tin_type = Eigen::TensorMap<Eigen::Tensor<const std::complex<float>, 1, 1, long int>, 16, Eigen::MakePointer>]'
./tensorflow/core/kernels/cwise_ops_common.h:268:45:   required from 'void tensorflow::UnaryOp<Device, Functor>::Compute(tensorflow::OpKernelContext*) [with Device = Eigen::ThreadPoolDevice; Functor = tensorflow::functor::get_angle<std::complex<float> >]'
tensorflow/core/kernels/cwise_op_arg.cc:35:1:   required from here
external/eigen_archive/Eigen/src/Core/MathFunctions.h:1255:49: error: cannot convert 'std::complex<float>' to 'Eigen::internal::arg_retval<std::complex<float> >::type {aka float}' in return
Target //tensorflow/tools/lib_package:libtensorflow failed to build
INFO: Elapsed time: 1982.637s, Critical Path: 432.02s
INFO: 3905 processes: 3905 local.

@KennBot
Copy link

KennBot commented Jan 25, 2022

Hi! Your compile issue is caused with an issue of compiling this repository's FixedPoint library on a newer gcc. This issue for the library was fixed in Google's Tensorflow 2.x, and I've created a pull request (#48) that fixes it in this repository. In the meantime, you can simply copy the FixedPoint library from the 2.x code into your local copy of the nvidia-tensorflow repository, and it should fix the compile error and build successfully. I got your same error and fixed it by doing this. Also, the error in issue #47 is identical to yours, and that issue was fixed by copying over this library. If you haven't found a prebuild yet, give compiling from source another try!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants