Closed pint1022 closed 5 years ago
I usually use liberal amounts of grep
to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span<int const>) const
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span<int const>) const
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDIwazNrs_3pdpj7umGWGQzycM1nlks5ut_lQgaJpZM4YQ57r.
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang notifications@github.com wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDIwazNrs_3pdpj7umGWGQzycM1nlks5ut_lQgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqBWGspzwFgpD6vIuON8z_fb-Fjipks5uy4JwgaJpZM4YQ57r .
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang notifications@github.com<mailto:notifications@github.com> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins notifications@github.com<mailto:notifications@github.com> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author author@noreply.github.com<mailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDIwazNrs_3pdpj7umGWGQzycM1nlks5ut_lQgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqBWGspzwFgpD6vIuON8z_fb-Fjipks5uy4JwgaJpZM4YQ57r .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDC09dL8H_EtLdxxLBhEL3_MMpLvkks5uy4aagaJpZM4YQ57r.
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang notifications@github.com wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com<mailto: notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author < author@noreply.github.commailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBWGspzwFgpD6vIuON8z_fb-Fjipks5uy4JwgaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDC09dL8H_EtLdxxLBhEL3_MMpLvkks5uy4aagaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqIHfKD3WK6T6v7XGXByHWaZalmlnks5uy6jdgaJpZM4YQ57r .
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang notifications@github.com<mailto:notifications@github.com> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins notifications@github.com<mailto:notifications@github.com> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author author@noreply.github.com<mailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBWGspzwFgpD6vIuON8z_fb-Fjipks5uy4JwgaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDC09dL8H_EtLdxxLBhEL3_MMpLvkks5uy4aagaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqIHfKD3WK6T6v7XGXByHWaZalmlnks5uy6jdgaJpZM4YQ57r .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDPN2yeVeNFJesOOqbwAICrQVC6j2ks5uy8H9gaJpZM4YQ57r.
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang notifications@github.com wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins notifications@github.com Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com<mailto: notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author < author@noreply.github.commailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com <mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.com<mailto:author@noreply.github.com<mailto: author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqIHfKD3WK6T6v7XGXByHWaZalmlnks5uy6jdgaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDPN2yeVeNFJesOOqbwAICrQVC6j2ks5uy8H9gaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r .
Right now, I work on the your branch of codes. Just commented out 3 files: Conv_ops.cc Conv_ops.h Conv_ops_gpu.h
Which is related to enable ‘conv2D’. I did notice that those files are commented out before; but was disabled by adding ‘GOOGLE_CUDA’ later. Do you have reasons to do so?
Thanks, steven From: Hugh Perkins notifications@github.com Sent: Wednesday, November 28, 2018 8:01 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang notifications@github.com<mailto:notifications@github.com> wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins notifications@github.com<mailto:notifications@github.com> Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author author@noreply.github.com<mailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com mailto:notifications@github.com%0b> <mailto: <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com%3cmailto:tf-coriander@noreply.github.com>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.aimailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com%3cmailto: author@noreply.github.com%3cmailto:author@noreply.github.commailto:author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqIHfKD3WK6T6v7XGXByHWaZalmlnks5uy6jdgaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDPN2yeVeNFJesOOqbwAICrQVC6j2ks5uy8H9gaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442422747, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDKR2yuGCF-2cnX4P5NOOvB4JS3mlks5uznrpgaJpZM4YQ57r.
I dont remember low level details. The general principle i followed was:
Some functions were easier than others. If i got stuck, id revert, and try a different function. And then come back to it later, once more functions had been successfully enabled.
On Wed, Nov 28, 2018, 07:06 Steven Wang notifications@github.com wrote:
Right now, I work on the your branch of codes. Just commented out 3 files: Conv_ops.cc Conv_ops.h Conv_ops_gpu.h
Which is related to enable ‘conv2D’. I did notice that those files are commented out before; but was disabled by adding ‘GOOGLE_CUDA’ later. Do you have reasons to do so?
Thanks, steven From: Hugh Perkins notifications@github.com Sent: Wednesday, November 28, 2018 8:01 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang <notifications@github.com<mailto: notifications@github.com>> wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: notifications@github.com>> Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author < author@noreply.github.commailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com <mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.com<mailto:author@noreply.github.com<mailto: author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com mailto:notifications@github.com%0b> <mailto: <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> <mailto: notifications@github.com%3cmailto:%0b>> notifications@github.com<mailto: notifications@github.com> mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com <mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> <mailto: tf-coriander@noreply.github.com%3cmailto:%0b>> tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com <mailto:tf-coriander@noreply.github.com% 3cmailto:tf-coriander@noreply.github.com>>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.ai<mailto:swang@panyi.ai% 3cmailto:swang@panyi.ai>>>>; Author < author@noreply.github.com<mailto:author@noreply.github.com <mailto<mailto:author@noreply.github.com% 3cmailto:author@noreply.github.com%3cmailto>: author@noreply.github.com%3cmailto:author@noreply.github.com<mailto: author@noreply.github.com%3cmailto:author@noreply.github.com>>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442422747>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDKR2yuGCF-2cnX4P5NOOvB4JS3mlks5uznrpgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442424160, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqLNij-ZuEj3NmLo5Bx8OrWBLWZzrks5uznw1gaJpZM4YQ57r .
Also, if yiu are trying to enable gpu for convolutions, you could look at the dnn branch. I dont remember what is in it. it needs the coriander-dnn library/repo most likely.
On Wed, Nov 28, 2018, 07:11 Hugh Perkins hughperkins@gmail.com wrote:
I dont remember low level details. The general principle i followed was:
- do not define google cuda
- choose some simple function to enable
- to enable it, comment out the ifdef google cuda guards around it
- somehow handle the compile errors resulting from this declaration needing other declarations
Some functions were easier than others. If i got stuck, id revert, and try a different function. And then come back to it later, once more functions had been successfully enabled.
On Wed, Nov 28, 2018, 07:06 Steven Wang notifications@github.com wrote:
Right now, I work on the your branch of codes. Just commented out 3 files: Conv_ops.cc Conv_ops.h Conv_ops_gpu.h
Which is related to enable ‘conv2D’. I did notice that those files are commented out before; but was disabled by adding ‘GOOGLE_CUDA’ later. Do you have reasons to do so?
Thanks, steven From: Hugh Perkins notifications@github.com Sent: Wednesday, November 28, 2018 8:01 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang <notifications@github.com<mailto: notifications@github.com>> wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: notifications@github.com>> Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author < author@noreply.github.commailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com <mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.com mailto:notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>>
Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.com<mailto:author@noreply.github.com<mailto: author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com mailto:notifications@github.com%0b> <mailto: <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> <mailto: notifications@github.com%3cmailto:%0b>> notifications@github.com<mailto: notifications@github.com> mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com <mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> <mailto: tf-coriander@noreply.github.com%3cmailto:%0b>> tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com <mailto:tf-coriander@noreply.github.com% 3cmailto:tf-coriander@noreply.github.com>>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.ai<mailto:swang@panyi.ai% 3cmailto:swang@panyi.ai>>>>; Author < author@noreply.github.com<mailto:author@noreply.github.com <mailto<mailto:author@noreply.github.com% 3cmailto:author@noreply.github.com%3cmailto>: author@noreply.github.com%3cmailto:author@noreply.github.com<mailto: author@noreply.github.com%3cmailto:author@noreply.github.com>>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442422747>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDKR2yuGCF-2cnX4P5NOOvB4JS3mlks5uznrpgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442424160, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqLNij-ZuEj3NmLo5Bx8OrWBLWZzrks5uznw1gaJpZM4YQ57r .
Hi, Hugh Thanks for the tips. After enabling files one by one, the build passed all missing functions issues. However, when it runs, it fails at: Cl_gpu_executor::Creatednn() […Conv_ops.cc:526] check failed: stream->parent()->getConvolveAlgorithms(&algorithms) ..
I got corianderdnn nstalled on the system.
Do you have any tips?
steven
From: Hugh Perkins notifications@github.com Sent: Wednesday, November 28, 2018 8:12 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I dont remember low level details. The general principle i followed was:
Some functions were easier than others. If i got stuck, id revert, and try a different function. And then come back to it later, once more functions had been successfully enabled.
On Wed, Nov 28, 2018, 07:06 Steven Wang notifications@github.com<mailto:notifications@github.com> wrote:
Right now, I work on the your branch of codes. Just commented out 3 files: Conv_ops.cc Conv_ops.h Conv_ops_gpu.h
Which is related to enable ‘conv2D’. I did notice that those files are commented out before; but was disabled by adding ‘GOOGLE_CUDA’ later. Do you have reasons to do so?
Thanks, steven From: Hugh Perkins notifications@github.com<mailto:notifications@github.com> Sent: Wednesday, November 28, 2018 8:01 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author author@noreply.github.com<mailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com>> Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com mailto:notifications@github.com%0b> <mailto: <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b> mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com%3cmailto:tf-coriander@noreply.github.com>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.aimailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com%3cmailto: author@noreply.github.com%3cmailto:author@noreply.github.commailto:author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com mailto:notifications@github.com%0b> mailto:notifications@github.com%0b> <mailto: <mailto:%0b>> <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com<mailto:notifications@github.com%3cmailto:notifications@github.com> mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b> mailto:notifications@github.com%3cmailto:%0b> <mailto: <mailto:%0b>> notifications@github.com%3cmailto:%0bmailto:notifications@github.com%3cmailto:%0b>> notifications@github.commailto<mailto:notifications@github.com%3cmailto: notifications@github.commailto:notifications@github.com> mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com mailto:tf-coriander@noreply.github.com%0b> <mailto: <mailto:%0b>> mailto:tf-coriander@noreply.github.com%3cmailto:%0b> <mailto: <mailto:%0b>> tf-coriander@noreply.github.com%3cmailto:%0bmailto:tf-coriander@noreply.github.com%3cmailto:%0b>> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com%3cmailto:tf-coriander@noreply.github.com <mailto:tf-coriander@noreply.github.com% mailto:tf-coriander@noreply.github.com%25%0b> 3cmailto:tf-coriander@noreply.github.com>>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.aimailto:swang@panyi.ai%<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:swang@panyi.ai%25 3cmailto:swang@panyi.ai>>>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com <mailto<mailto:author@noreply.github.com% mailto:author@noreply.github.com%25%0b> 3cmailto:author@noreply.github.com%3cmailto>: author@noreply.github.com%3cmailto:author@noreply.github.commailto<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com%3cmailto: author@noreply.github.com%3cmailto:author@noreply.github.commailto:author@noreply.github.com%3cmailto:author@noreply.github.com>>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442422747>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDKR2yuGCF-2cnX4P5NOOvB4JS3mlks5uznrpgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442424160, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqLNij-ZuEj3NmLo5Bx8OrWBLWZzrks5uznw1gaJpZM4YQ57r .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442425710, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDBhUkI8_IUMQdYV_9MYsiVrCYIJvks5uzn2EgaJpZM4YQ57r.
Hi, Hugh I got to the point to uncomment cl_dnn.cc/h. It seems closely linked to cudnn. Not sure how much it works. steven
From: Hugh Perkins notifications@github.com Sent: Wednesday, November 28, 2018 8:15 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com Cc: Steven Wang swang@panyi.ai; Author author@noreply.github.com Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Also, if yiu are trying to enable gpu for convolutions, you could look at the dnn branch. I dont remember what is in it. it needs the coriander-dnn library/repo most likely.
On Wed, Nov 28, 2018, 07:11 Hugh Perkins hughperkins@gmail.com<mailto:hughperkins@gmail.com> wrote:
I dont remember low level details. The general principle i followed was:
- do not define google cuda
- choose some simple function to enable
- to enable it, comment out the ifdef google cuda guards around it
- somehow handle the compile errors resulting from this declaration needing other declarations
Some functions were easier than others. If i got stuck, id revert, and try a different function. And then come back to it later, once more functions had been successfully enabled.
On Wed, Nov 28, 2018, 07:06 Steven Wang notifications@github.com<mailto:notifications@github.com> wrote:
Right now, I work on the your branch of codes. Just commented out 3 files: Conv_ops.cc Conv_ops.h Conv_ops_gpu.h
Which is related to enable ‘conv2D’. I did notice that those files are commented out before; but was disabled by adding ‘GOOGLE_CUDA’ later. Do you have reasons to do so?
Thanks, steven From: Hugh Perkins notifications@github.com<mailto:notifications@github.com> Sent: Wednesday, November 28, 2018 8:01 PM To: hughperkins/tf-coriander tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai>; Author author@noreply.github.com<mailto:author@noreply.github.com> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
The diagnosis sounds correct. You will need to hunt through the files for the missing declaration. I dojt know how yout version of the code works, but in mine, it basically involved commenting / uncommenting declarations. You can look at my commit history for examples. Mostly involved some combination of grep, luck, and exhaustive search to find the appropriate declarations...
On Wed, Nov 28, 2018, 06:56 Steven Wang <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b>> notifications@github.commailto:notifications@github.com>> wrote:
Hi, Hugh I did some search of the errors. It is usually caused by ‘partial template specialization’ on the struct, e.g. ‘TransformFilter’ defined in ‘conv_2d.h’ as one of the examples. It seems that ‘operator()’ of ‘TransformFilter is not properly linked. However, according to the ‘solution’ tips online, it should be solved by instantiating the classes/struct at the end of code, e.g. conv_ops.cc does the right thing to DECLARE_GPU_SPEC the struct. So in my research, it seems that the codes are correct; but it still runs into ‘undefined symbol’ issue. Do you have any clues on this matter?
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b>> notifications@github.commailto:notifications@github.com>> Sent: Monday, November 26, 2018 6:27 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b>> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com>> Cc: Steven Wang swang@panyi.ai<mailto:swang@panyi.ai<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Well, if it is like the version i ported thsn you are gradually commenting out #ifdef Googlecuda isbthat right? Probably need to uncommwnr a few more.
You can look at the commit history on the original port, and look at whar things were uncommented at the same time. Might give some ideas on whwre to look in tje new version.
On Mon, Nov 26, 2018, 03:40 Steven Wang <notifications@github.com mailto:notifications@github.com%0b>> <mailto: <mailto:%0b>>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> wrote:
Hi, Hugh I did a quick experiment to enable conv2d on the current version (0.11rc0). It is compiled fine, but has a runtime ‘undefined error’ on functor: Tensorflow::functor::TransformFilter<Eigen::GpuDevice, float, int, 4>::operator()(Eigen::GpuDevice const&, Eigen::TensorMap<Eigen::Tensor<float const, 4, 1, int>, 16, Eigen::MakePointer>, Eigen::TensorMap<Eigen::Tensor<float, 4, 1, int>, 16, Eigen::MakePointer>)
It is the type of error as I ran into on porting r1.11. If there are some clues on how to fix this one, it could be very helpful for the r1.11. porting.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com mailto:notifications@github.com>> Sent: Monday, November 26, 2018 2:14 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com<mailto: mailto:tf-coriander@noreply.github.com%3cmailto:%0b>> mailto:tf-coriander@noreply.github.com%3cmailto:%0b> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com%3cmailto:tf-coriander@noreply.github.com>>>
Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b>> swang@panyi.ai%3cmailto:swang@panyi.aimailto:swang@panyi.ai%3cmailto:swang@panyi.ai>>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com%3cmailto: author@noreply.github.com%3cmailto:author@noreply.github.commailto:author@noreply.github.com%3cmailto:author@noreply.github.com>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
Probably in tensorflow. Since tensorflow depends on eigen, whereas eigen knows nothjng about tf.
On Mon, Nov 26, 2018, 00:56 Steven Wang <notifications@github.com mailto:notifications@github.com%0b>> mailto:notifications@github.com%0b> <mailto: <mailto:%0b>>> <mailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> notifications@github.commailto:notifications@github.com<mailto:notifications@github.com%3cmailto:notifications@github.com> mailto:notifications@github.com>> wrote:
Hi, Hugh Thank you for the information. I have no clue where to look for the definition of the following function? Is it in Tensorflow or the third_party modules. Hope you could share some tips.
Thanks, steven
From: Hugh Perkins <notifications@github.com<mailto: mailto:notifications@github.com%3cmailto:%0b>> mailto:notifications@github.com%3cmailto:%0b> <mailto: <mailto:%0b>>> notifications@github.com%3cmailto:%0bmailto:notifications@github.com%3cmailto:%0b>> notifications@github.commailto<mailto:notifications@github.com%3cmailto: notifications@github.commailto:notifications@github.com> mailto:notifications@github.com>> Sent: Sunday, November 11, 2018 6:18 PM To: hughperkins/tf-coriander <tf-coriander@noreply.github.com mailto:tf-coriander@noreply.github.com%0b>> <mailto: <mailto:%0b>>> mailto:tf-coriander@noreply.github.com%3cmailto:%0b> <mailto: <mailto:%0b>>> tf-coriander@noreply.github.com%3cmailto:%0bmailto:tf-coriander@noreply.github.com%3cmailto:%0b>> tf-coriander@noreply.github.commailto:tf-coriander@noreply.github.com<mailto:tf-coriander@noreply.github.com%3cmailto:tf-coriander@noreply.github.com <mailto:tf-coriander@noreply.github.com% mailto:tf-coriander@noreply.github.com%25%0b>> 3cmailto:tf-coriander@noreply.github.com>>>> Cc: Steven Wang <swang@panyi.ai<mailto:swang@panyi.ai<mailto: mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b>> mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:%0b> swang@panyi.ai%3cmailto:swang@panyi.aimailto:swang@panyi.ai%<mailto:swang@panyi.ai%3cmailto:swang@panyi.ai%3cmailto:swang@panyi.ai%25 3cmailto:swang@panyi.ai>>>>; Author < author@noreply.github.commailto:author@noreply.github.com<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com <mailto<mailto:author@noreply.github.com% mailto:author@noreply.github.com%25%0b>> 3cmailto:author@noreply.github.com%3cmailto>: author@noreply.github.com%3cmailto:author@noreply.github.commailto<mailto:author@noreply.github.com%3cmailto:author@noreply.github.com%3cmailto: author@noreply.github.com%3cmailto:author@noreply.github.commailto:author@noreply.github.com%3cmailto:author@noreply.github.com>>>> Subject: Re: [hughperkins/tf-coriander] Porting to Tensorflow r1.11 (#90)
I usually use liberal amounts of grep to try to find stuff. you can also use sites like http://demangler.com/ to unmangle the name, which can be quite helpful sometimes:
tensorflow::functor::Tile<Eigen::GpuDevice, int, int>::operator()(
Eigen::GpuDevice const&, tensorflow::Tensor*,
tensorflow::Tensor const&, absl::Span
) const — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-437657995>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441527091>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441529776>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub <
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441558766>,
or mute the thread <
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<
https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-441590347>,
or mute the thread<
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub < https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442421709>,
or mute the thread < https://github.com/notifications/unsubscribe-auth/AAHiqBO-V0dEqDFQo3PK5DQWPyRey-Hsks5uznn0gaJpZM4YQ57r>
.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub< https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442422747>, or mute the thread< https://github.com/notifications/unsubscribe-auth/AksTDKR2yuGCF-2cnX4P5NOOvB4JS3mlks5uznrpgaJpZM4YQ57r>.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442424160, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHiqLNij-ZuEj3NmLo5Bx8OrWBLWZzrks5uznw1gaJpZM4YQ57r .
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/hughperkins/tf-coriander/issues/90#issuecomment-442426593, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AksTDMpPbsCHgdzTY3Ieopr7ekehFBbZks5uzn5OgaJpZM4YQ57r.
Any progress on this? Would be good to know where things stand.
closed. The working repo is here: https://github.com/pint1022/tensorflow.
Hi I am working on the project to upgrade tf-coriander to Tensorflow r1.11. I have made the changes to bazel BUILD structure to the point that the compilation is almost completed till the last step to link 'pywrap_tensorflow_internal.so'; then it reports "..._pywrap_tensorflow_internal.so: undefined symbol: _ZNK10tensorflow7functor4TileIN5Eigen9GpuDeviceEiiEclERKS3_PNS_6TensorERKS7_N4absl4SpanIKiEE". BYW, I have only tile-functor commented out 'GOOGLE_CUDA' so far. It seems not to include the right dependency at rule 'tile_ops', but I have not found the right place to change it correctly. Can someone shed some lights on the right direction?
thanks, steven wang