5 Replies Latest reply on Sep 21, 2015 5:50 AM by dmitryk

    FireRays IntersectionApi Create Exception

    adams

      Hi,

       

      Since I need a fast ray interesction testing API I wanted to give FireRays a try, but I am stuck at api creation. I do it exactly like described in pdf that comes with SDK, but IntersectionApi::Create throws exception - 'Cannot read the contents of a File'. Do you know what might be the reason for this exception?

        • Re: FireRays IntersectionApi Create Exception
          dmitryk

          Hi adams,

           

          Can you provide your system configuration? Can you also try the attached .dll instead of original one and report the result?

           

          Thanks,

          -Dmitry

            • Re: FireRays IntersectionApi Create Exception
              adams

              Thanks dmitryk,

               

              right now I have different issue, I successfully created API for CPU device, for GPU I get 'Internal Error', both created with kOpenCl flag.

              I have FX-8350 and R9 290 (I use 15.4 drivers instead of the newest ones).

                • Re: FireRays IntersectionApi Create Exception
                  dmitryk

                  I would recommend updating to the latest driver to make sure you have all recent fixes for OpenCL driver and runtime. Internal error most likely means kernel compilation issue for GPU . If updating the driver doesn't help I can provide you the version with logging enabled.

                    • Re: FireRays IntersectionApi Create Exception
                      adams

                      I don't use driver version 15.7.1 because my OpenCL 2.0 application crashes while using it, clBuildProgram throws stack overflow exception, while under 15.4.1 it builds without problem (I am 100% sure it's due to one recursive function I have there).

                       

                      Either way, with 15.7.1 driver the problem still exists, I still get 'Internal Error' when I select GPU device.

                       

                      Also while calling IntersectBatch I get 'clEnqueueWriteBuffer failed' while using CPU device:

                       

                           ray *rays = new ray[512 * 512];

                          for (int i = 0; i < 512; i++)

                          {

                              for (int j = 0; j < 512; j++)

                              {

                                  rays[i * 512 + j] = getRay(i, j);

                              }

                          }

                          Intersection *isect = new Intersection[512 * 512];

                          try

                          {

                              api_->IntersectBatch(rays, 512 * 512, isect);

                          }