Without knowing what exactly you’re doing and what the results are and how you calculate them, it’s hard to answer any questions about possible inefficiencies which could result in long startup times.
First, I’m assuming you’re still on the same system configuration:
Win-7 Enterprise, NVIDIA GeForce GTX 745, Driver 376.33, OptiX SDK 4.0.2, CUDA v8.0.
That is a really low-end GPU configuration for Professional Rendering and Graphics related tasks discussed on this forum.
Do you have access to any more high-end system to run your application on for comparisons?
1.)
Two hours startup times for a 100,000(?) primitives (triangles?) scene is completely off the chart.
Depending on the scene structure, that should generate the acceleration structure in under a second, even on that small GM107. I have a 2GB mobile version of that GPU in my laptop and that can handle scenes with millions of triangles without problems.
How does the scene structure look like?
How many OptiX nodes are in that? (Geometry, GeometryInstance, Material, GeometryGroup, Acceleration, Transform, Group)
If that happens during acceleration build and you used the Trbvh builder and that used too much memory and fell back to software builds, maybe look at the chunk_size option (see OptiX Programming Guide, Table 4 Acceleration Structure Properties).
Or it could be that your OptiX programs in the *.cu files are complex and let the PTX assembler and optimizer run into disk paging on a system with little system RAM. You would notice that when looking at the Windows TaskManager performance graphs.
How much RAM is installed in your host system?
How many lines of PTX code do your OptiX programs have in the scene?
Also getting one result in 16 hours implies either that your workload is outrageously high, or your GPU is massively under-powered for the task at hand, or something is not right.
2.)
Well, you could start with an OptiX API Capture trace of your application run (search for “OAC” on this forum for explanations how to enable that) and look at the resulting trace.oac text file which tracks all OptiX API calls.
If that looks correct to you and didn’t throw any errors, you might send an archive of that whole “oac_” folder (must be <10 MB) to OptiX-Help(at)nvidia.com and we could take a look.
Note that *.zip extensions won’t make it through our e-mail servers. Rename the extension to *.zi_ instead.
If it’s bigger than 10 MB, I can set up a temporary FTP account to upload bigger files.
PS: “And by the way I didn’t know I should not use pseudo code here. My intention was just to reduce the amount of code for the admins here in order to really get an example as little as possible.”
You need to ask yourself what is required for other developers on a forum to understand your programming problem. Pseudo code only works when explaining code structure or general algorithms, not when there are real bugs inside your actual code.