-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zip Iterator #68
base: master
Are you sure you want to change the base?
Zip Iterator #68
Conversation
Comment this line to skip the format check: Line 36 in 91028b1
|
Please rebase on the current master. I removed C++ 14. Therefore, it is less to test. |
996aa55
to
0fc20ee
Compare
Sorry for the delay, finally all checks have passed |
I see a conceptional problem in your implementation. If I understand it correctly, you pass a tuple of the begin pointers of each buffer ( std::tuple<bufType1, bufType2, bufType3> operator*(){
return std::make_tuple(std::get<0>(m_iteratorTuple[m_index]), std::get<1>(m_iteratorTuple[m_index]), std::get<2>(m_iteratorTuple[index]));
}
std::tuple<bufType1, bufType2, bufType3> operator[](int i){
return std::make_tuple(std::get<0>(m_iteratorTuple[i]), std::get<1>(m_iteratorTuple[i]), std::get<2>(m_iteratorTuple[i]));
} I think, the main problem is to make it generic for an arbitrary number of tuple members. I would also suggest, to test it first with auto transform = [](Data1 input) -> Data2 { return static_cast<Data2>(input);};
auto reduce = [](Data2 sum, Data2 input) -> Data2 { return sum + input;}; Also the reduce functor is restricted to a single type for the moment, see here: #52 |
- rename was necessary to avoid confusions with fancy iterator - rename and flat namespace of the mem access strategy - move related files to new folder
- now, the memory access strategy returns the index instead the actual data element
- Change transform output from fancy iterator to a memory object of std::tuple<std::uint64_t, char, double> (like the return type of the functor) - Change transform result check by comparing element by element - Directly use the concrete types Update ZipIterator.hpp: - Remove = operator
- Fix operator[] - Change constexpr to ALPAKA_FN_HOST_ACC
50cccc6
to
53c7f10
Compare
Add:
Failed when building for accelerator testing