So last night, I was laying in bed thinking about the myriad of issues I had been having with functions pointing to member objects and multiple threads trying to assign values to those objects, when I realized something. The part I was attempting to parallelize was a waste because there were multiple serial functions embedded in them. What actually made sense was to move further into the code and instead of trying to parallelize the flux calculation in time, it made more sense to parallelize the spatial calculations because those do not have the same dependencies on objects.
This morning has consisted of implementing that code, and tagging the required functions as device runnable code, going back and catching typos, and then relocating the kernel because __global__ functions cannot be called as class types. I was feeling great about this and was quite confident as I keyed in the make arguments, when...
Whoops...
Turns out, static-member classes, because of the fact that their memory is allocated by the compiler (This is what I have read, I am not a Computer Scientist) and there is no compile-time way to incorporate this into unified memory. Currently looking at ways to move the data into something that the device can play with, but won't break any host-side calls to the array. Positive steps, though.
Cheers,
TEJ
This morning has consisted of implementing that code, and tagging the required functions as device runnable code, going back and catching typos, and then relocating the kernel because __global__ functions cannot be called as class types. I was feeling great about this and was quite confident as I keyed in the make arguments, when...
Whoops...
Turns out, static-member classes, because of the fact that their memory is allocated by the compiler (This is what I have read, I am not a Computer Scientist) and there is no compile-time way to incorporate this into unified memory. Currently looking at ways to move the data into something that the device can play with, but won't break any host-side calls to the array. Positive steps, though.
Cheers,
TEJ
Comments
Post a Comment