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 [email protected] 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: [email protected] <[email protected]> on behalf of Kenneth Hoste <[email protected]> Sent: Saturday, February 23, 2019 16:43 To: [email protected] Subject: Re: [easybuild] Assertion error for PyTorch-0.3.1 with intelcuda-2017b On 22/02/2019 22:10, Vanzo, Davide wrote: &gt; Hello all! &gt; &gt; I am trying to build PyTorch-0.3.1 with intelcuda-2017b but I am hitting &gt; the error I reported below. Has anybody seen anything similar before? &gt; &gt; /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): &gt; error: no instance of overloaded function "std::vector&lt;_Tp, &gt; _Alloc&gt;::push_back [with _Tp=pollfd, _Alloc=std::allocator<pollfd>]" &gt; matches the argument list &gt; argument types are: ({...}) &gt; object type is: std::vector<pollfd, std::allocator<pollfd="">&gt; &gt; fds.push_back({ .fd = _listen_socket, .events = POLLIN }); &gt; ^ &gt; /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(932): &gt; note: this candidate was rejected because arguments do not match &gt; push_back(value_type&amp;&amp; __x) &gt; ^ &gt; /opt/easybuild/software/Core/GCCcore/6.4.0/include/c++/6.4.0/bits/stl_vector.h(914): &gt; note: this candidate was rejected because arguments do not match &gt; push_back(const value_type&amp; __x) &gt; ^ &gt; /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp(44): &gt; internal error: assertion failed at: "shared/cfe/edgcpfe/exprutil.c", &gt; line 747 &gt; fds.push_back({ .fd = _listen_socket, .events = POLLIN }); &gt; ^ &gt; compilation aborted for &gt; /tmp/PyTorch/0.3.1/intelcuda-2017b-Python-3.6.3/pytorch-0.3.1/torch/lib/THD/base/data_channels/Store.cpp &gt; (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&amp;data=02%7C01%7Cdavide.vanzo%40vanderbilt.edu%7C54ba0b2837ec49b51b4e08d699d066af%7Cba5a7f39e3be4ab3b45067fa80faecad%7C0%7C0%7C636865517700155185&amp;sdata=ry7KfirvByw9Q6JhqwByAllUBn%2BGCFQekZV2kDCLZUs%3D&amp;reserved=0 . regards, Kenneth </pollfd,></pollfd></[email protected]></[email protected]>

