FasterTransformer icon indicating copy to clipboard operation
FasterTransformer copied to clipboard

v5 on nvcr.io/nvidia/tensorflow:20.12-tf1-py3 build bert for tensorflow error

Open PAOPAO6 opened this issue 3 years ago • 0 comments

Description

In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h: In member function ‘fastertransformer::Tensor BaseOp<T>::convert_tensor(tensorflow::Tensor)’:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayer.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert/Bert.h:23,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertOp.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayer.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert/Bert.h:23,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertOp.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:44: error: template argument 2 is invalid
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                            ^
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:53: error: expected initializer before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                                     ^~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:52: error: expected ‘)’ before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |            ~                                       ^~~
      |                                                    )
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertINT8Op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h: In member function ‘fastertransformer::Tensor BaseOp<T>::convert_tensor(tensorflow::Tensor)’:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayerINT8.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertLayerINT8.h:24,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertINT8.h:19,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertINT8Op.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertINT8Op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayerINT8.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertLayerINT8.h:24,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertINT8.h:19,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertINT8Op.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/BertINT8Op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:44: error: template argument 2 is invalid
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                            ^
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:53: error: expected initializer before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                                     ^~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:52: error: expected ‘)’ before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |            ~                                       ^~~
      |                                                    )
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/encoder/EncoderOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h: In member function ‘fastertransformer::Tensor BaseOp<T>::convert_tensor(tensorflow::Tensor)’:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayer.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert/Bert.h:23,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/encoder/EncoderOp.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/encoder/EncoderOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayer.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert/Bert.h:23,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/encoder/EncoderOp.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/encoder/EncoderOp.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:44: error: template argument 2 is invalid
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                            ^
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:53: error: expected initializer before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                                     ^~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:52: error: expected ‘)’ before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |            ~                                       ^~~
      |                                                    )
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/weight_quantize_op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h: In member function ‘fastertransformer::Tensor BaseOp<T>::convert_tensor(tensorflow::Tensor)’:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayerINT8.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertLayerINT8.h:24,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertINT8.h:19,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/weight_quantize_op.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/weight_quantize_op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: error: ‘bfloat16’ is not a member of ‘Eigen’
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                    ^~~~~~~~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:36: note: suggested alternatives:
In file included from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/numeric_types.h:27,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/allocator.h:26,
                 from /usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/framework/op_kernel.h:25,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/utils/allocator.h:29,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/BaseLayer.h:22,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/layers/FfnLayerINT8.h:21,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertLayerINT8.h:24,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/models/bert_int8/BertINT8.h:19,
                 from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/weight_quantize_op.cc:17:
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
   45 | struct bfloat16 {
      |        ^~~~~~~~
/usr/local/lib/python3.8/dist-packages/tensorflow_core/include/tensorflow/core/lib/bfloat16/bfloat16.h:45:8: note:   ‘tensorflow::bfloat16’
In file included from /data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/bert/weight_quantize_op.cc:18:
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:44: error: template argument 2 is invalid
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                            ^
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:53: error: expected initializer before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |                                                     ^~
/data/mt/hbl/FasterTransformer_v5_tf/src/fastertransformer/tf_op/BaseOp.h:105:52: error: expected ‘)’ before ‘==’ token
  105 |         if (std::is_same<T, Eigen::bfloat16>::value == true) {
      |            ~                                       ^~~
      |                                                    )

Reproduced Steps

1、
nvidia-docker run -ti --rm nvcr.io/nvidia/tensorflow:20.12-tf1-py3 bash
git clone https://github.com/NVIDIA/FasterTransformer.git
mkdir -p FasterTransformer/build
cd FasterTransformer/build
git submodule init && git submodule update

2、
1)build c++
cmake -DSM=xx -DCMAKE_BUILD_TYPE=Release ..
make 

2)build with tensorflow
cmake -DSM=xx -DCMAKE_BUILD_TYPE=Release -DBUILD_TF=ON -DTF_PATH=/usr/local/lib/python3.8/dist-packages/tensorflow_core/ ..
make   # error

PAOPAO6 avatar Aug 14 '22 04:08 PAOPAO6