haha. I'll try CodeXL, and printf works with GPUs???
Thanks! It'll be nice if you can (when you're near a PC with codes) look closer to what I found about the codes. My latest plan is:
1. Still have only one pgi cache (instead of one for each radiance group)
2. Change `Spectrum` into `vector<Spectrum>` for `Photon`, `RadiancePhoton` and `RadiancePhotonEntry`
3. Make sure every photon starts with correct initial vector<Spectrum> in`TracePhotonsThread::TracePhotonPath`
4. Fix every other place that doesn't compile (well, I think it'll include other render engines :-S)
5. Add a test to make sure the beauty channel doesn't change with or without my changes, and that sum of two radiance group channels equal to the beauty before denoising
6. [OCL] Change Photon/RadiancePhoton definitions in pgi_types.cl and changing CPU->GPU transfer codes
7. [OCL] Change pgi related functions in pathoclbase_kernels_micro.cl and probably other files
8. [OCL] Add a test for OCL
Does this sounds good? I hope I can find some time this week to start coding, and try to finish 1~5 this month. So please, if you find anything wrong/suspicious/dangerous, just tell me.
BTW: I should probably check other engines (like tiled, hybrid etc) when I finish all 1~8, but I need to make PathCPU/PathOCL work first