RE: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b
Lars, Thank you for the feedback. So, using gnu++11 solves the problem but creates a new one. With that standard nvcc+icc goes bananas and throws undefined __float128 identifier errors. I'll try to go down the route of fixing the object. -- Davide Vanzo, PhD Sr. HPC Research Scientist Advanced Computing Center for Research and Education (ACCRE) Vanderbilt University - Hill Center 201 (615)-875-9137 www.vanderbilt.edu/accre On 2019-02-23 14:49:31-06:00 easybuild-requ...@lists.ugent.be wrote: In this case, it's kind of rightfully picky - designated initializers like that is not standard C++ and normally only exist in C. GNU may happen to expose them as part of their GNU flavour of C++. If you're using `-std=c++11` or such, try `-std=gnu++11`. You could also try constructing a `pollfd` object before the statement and pushing that, or possibly passing `pollfd{.fd = _listen_socket, .events = POLLIN}`. You're probably looking at some fun interaction of GNU extensions with the advent of initializer_list:s in C++11. // Lars From: easybuild-requ...@lists.ugent.be <easybuild-requ...@lists.ugent.be> on behalf of Kenneth Hoste <kenneth.ho...@ugent.be> Sent: Saturday, February 23, 2019 16:43 To: easybuild@lists.ugent.be Subject: Re: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b On 22/02/2019 22:10, Vanzo, Davide wrote: > Hello all! > > I am trying to build PyTorch-0.3.1 with intelcuda-2017b but I am hitting > the error I reported below. Has anybody seen anything similar before? > > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): > error: no instance of overloaded function "std::vector<_Tp, > _Alloc>::push_back [with _Tp=pollfd, _Alloc=std::allocator<pollfd>]" > matches the argument list > argument types are: ({...}) > object type is: std::vector<pollfd, std::allocator<pollfd="">> > fds.push_back({ .fd = _listen_socket, .events = POLLIN }); > ^ > /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(932): > note: this candidate was rejected because arguments do not match > push_back(value_type&& __x) > ^ > /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(914): > note: this candidate was rejected because arguments do not match > push_back(const value_type& __x) > ^ > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): > internal error: assertion failed at: "shared/cfe/edgcpfe/exprutil.c", > line 747 > fds.push_back({ .fd = _listen_socket, .events = POLLIN }); > ^ > compilation aborted for > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp > (code 4) Can you share the easyconfig file, so we can try to reproduce this? It's probably the Intel compilers being a bit picky here, wouldn't be the first time... Looks like it may just need some convincing with a cast or something? My C++ is too rusty to quickly figure this out though... Maybe this helps: https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.reddit.com%2Fr%2Fcpp_questions%2Fcomments%2F6cohwk%2Fno_instance_of_overloaded_function_vector_problem%2F&data=02%7C01%7Cdavide.vanzo%40vanderbilt.edu%7C54ba0b2837ec49b51b4e08d699d066af%7Cba5a7f39e3be4ab3b45067fa80faecad%7C0%7C0%7C636865517700155185&sdata=ry7KfirvByw9Q6JhqwByAllUBn%2BGCFQekZV2kDCLZUs%3D&reserved=0 . regards, Kenneth </pollfd,></pollfd></kenneth.ho...@ugent.be></easybuild-requ...@lists.ugent.be>
Re: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b
In this case, it's kind of rightfully picky - designated initializers like that is not standard C++ and normally only exist in C. GNU may happen to expose them as part of their GNU flavour of C++. If you're using `-std=c++11` or such, try `-std=gnu++11`. You could also try constructing a `pollfd` object before the statement and pushing that, or possibly passing `pollfd{.fd = _listen_socket, .events = POLLIN}`. You're probably looking at some fun interaction of GNU extensions with the advent of initializer_list:s in C++11. // Lars From: easybuild-requ...@lists.ugent.be on behalf of Kenneth Hoste Sent: Saturday, February 23, 2019 16:43 To: easybuild@lists.ugent.be Subject: Re: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b On 22/02/2019 22:10, Vanzo, Davide wrote: > Hello all! > > I am trying to build PyTorch-0.3.1 with intelcuda-2017b but I am hitting > the error I reported below. Has anybody seen anything similar before? > > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): > error: no instance of overloaded function "std::vector<_Tp, > _Alloc>::push_back [with _Tp=pollfd, _Alloc=std::allocator]" > matches the argument list > argument types are: ({...}) > object type is: std::vector> > fds.push_back({ .fd = _listen_socket, .events = POLLIN }); > ^ > /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(932): > note: this candidate was rejected because arguments do not match > push_back(value_type&& __x) > ^ > /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(914): > note: this candidate was rejected because arguments do not match > push_back(const value_type& __x) > ^ > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): > internal error: assertion failed at: "shared/cfe/edgcpfe/exprutil.c", > line 747 > fds.push_back({ .fd = _listen_socket, .events = POLLIN }); > ^ > compilation aborted for > /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp > (code 4) Can you share the easyconfig file, so we can try to reproduce this? It's probably the Intel compilers being a bit picky here, wouldn't be the first time... Looks like it may just need some convincing with a cast or something? My C++ is too rusty to quickly figure this out though... Maybe this helps: https://www.reddit.com/r/cpp_questions/comments/6cohwk/no_instance_of_overloaded_function_vector_problem/ . regards, Kenneth
Re: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b
On 22/02/2019 22:10, Vanzo, Davide wrote: Hello all! I am trying to build PyTorch-0.3.1 with intelcuda-2017b but I am hitting the error I reported below. Has anybody seen anything similar before? /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): error: no instance of overloaded function "std::vector<_Tp, _Alloc>::push_back [with _Tp=pollfd, _Alloc=std::allocator]" matches the argument list argument types are: ({...}) object type is: std::vector> fds.push_back({ .fd = _listen_socket, .events = POLLIN }); ^ /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(932): note: this candidate was rejected because arguments do not match push_back(value_type&& __x) ^ /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(914): note: this candidate was rejected because arguments do not match push_back(const value_type& __x) ^ /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): internal error: assertion failed at: "shared/cfe/edgcpfe/exprutil.c", line 747 fds.push_back({ .fd = _listen_socket, .events = POLLIN }); ^ compilation aborted for /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp (code 4) Can you share the easyconfig file, so we can try to reproduce this? It's probably the Intel compilers being a bit picky here, wouldn't be the first time... Looks like it may just need some convincing with a cast or something? My C++ is too rusty to quickly figure this out though... Maybe this helps: https://www.reddit.com/r/cpp_questions/comments/6cohwk/no_instance_of_overloaded_function_vector_problem/ . regards, Kenneth