Skip to content

Conversation

@Beenishgul
Copy link
Collaborator

Please the updated version.

@fasiddique fasiddique self-requested a review May 19, 2025 03:23
Comment on lines +226 to +227
for (uint64_t i = 0; i < input.size(); i++) {
hostoutput[i + 1] = hostoutput[i] + input[i + 1];
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an out-of-bounds access. Depending on the compiler and operating system, it may either get segmentation fault, or produce error-prone results.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prefix-sum.out(9981,0x1f217cf40) malloc: Incorrect checksum for freed object 0x12200c800: probably modified after being freed.

Corrupt value: 0xffc00

prefix-sum.out(9981,0x1f217cf40) malloc: *** set a breakpoint in malloc_error_break to debug

Abort trap: 6

Comment on lines +239 to +244
for (uint64_t i = 0; i < intermeadiate_results.size(); ++i) {
if (i % 2 == 0)
even.push_back(intermeadiate_results[i]);
else
odd.push_back(intermeadiate_results[i]);
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's recommended to avoid using push_back for efficiency purpose, because this allocates memory dynamically. Since the vector size is known beforehand, we can use reside and indexing.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*resize

Comment on lines +228 to +229
intermeadiate_results.push_back(input[i]);
host_device_merged.push_back(input[i]);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to have three copies of the input vector?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants