76
edits
Changes
→WordTranslator - Parallel Approach
1. Kernels do not accept complex objects from the host ( Maps, vectors, strings)
2. Kernels load and execute on sequential memory. Device Pointers
3. Replacing the data using a character pointer (char*) proved exceedingly difficult.
Thus the solution had to be modified in order to accommodate these issues. A couple of options were available to overcome this.
1. We will match a pattern found by the kernel
2. We will record where the result was found and the position that we found this match. This would allow another more sophisticated device function to make these translations. This function on a CPU would be at most O(n^2)
3. Instead, introduce a structure to manage our complex data. (See Below)
[[File:Struct.PNG]]