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:
> 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></[email protected]></[email protected]>

Reply via email to