|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
CUDAHi
I have been struggling a little to get my head around the implementation of a CUDA Version of the SubdivideEdges plugin - it just doesn't want to sort itself out in my head. To take a little break, I decided to implement another image processing plugins - Gamma - and have included tests and benchmarks. I have also generated graphs sumarising the bitmap plugin benchmark results (see the results for bitmap.modifier.BenchmarkComparison on the dashboard). Regarding the edge subdivision plugin, I think that the problem is that I am trying too hard to stick to the current division of tasks (the classes in the detail namespace) and I should instead rewrite the entire plugin in cuda. The one problem I can see with this is that the resultant mesh may not have identical indices although the structures could be identical. How much of a problem is this. How is the difference between two meshes calculated? I assume from the k3d::mesh_diff output that each record is compared element-wise? I look forward to your comments and suggestions. Evan ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ K3d-development mailing list K3d-development@... https://lists.sourceforge.net/lists/listinfo/k3d-development |
|
|
Re: CUDAOn Wed, Jul 9, 2008 at 11:32 PM, Evan Lezar <evanlezar@...> wrote:
> To take a little break, I decided to implement another image processing > plugins - Gamma - and have included tests and benchmarks. I have also > generated graphs sumarising the bitmap plugin benchmark results (see the > results for bitmap.modifier.BenchmarkComparison on the dashboard). I'll check it out. Taking a break like this is often a good idea! > Regarding the edge subdivision plugin, I think that the problem is that I am > trying too hard to stick to the current division of tasks (the classes in > the detail namespace) and I should instead rewrite the entire plugin in > cuda. The one problem I can see with this is that the resultant mesh may I've tried to write the array implementation with CUDA in mind, but that's no guarantee, of course. In theory, everything except the edge_index_calculator should run in parallel. For the edge_index_calculator, you have to ensure it runs in sequence, or think of some way to parallelize it, though that will require shared data and synchronization (I doubt that's worth the effort. If you can run this one serially on the GPU, do so!) > not have identical indices although the structures could be identical. How > much of a problem is this. How is the difference between two meshes > calculated? I assume from the k3d::mesh_diff output that each record is > compared element-wise? Unfortunately, that would be a problem. CUDA plugins, legacy plugins and array plugins need to be completely interchangeable, and result in the exact same index ordering for all mesh components. The only acceptable difference is in the point positions, due to differences in floating point calculations. The rationale is that in a pipeline, plugins build on these indices, and if they are different for certain plugin implementations, the rest of the pipeline will produce unexpected results. In particular, when converting legacy plugins not respecting this would break compatibility with existing documents. For example, imagine two implementations of SubdivideFaces that result in a different face order. If the next step is "extrude face 3", there is no guarantee the correct face will be extruded when the plugins are exchanged. Note that in the future, such an exchange may happen automatically based on hardware detection. Cheers, -- Bart ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ K3d-development mailing list K3d-development@... https://lists.sourceforge.net/lists/listinfo/k3d-development |
| Free Forum Powered by Nabble | Forum Help |