02-25-2013 01:07 PM
Hello,
I am seeing an intermittant error from the GPU Analysis toolkit. It says:
--------------
Error 1556 occurred at In Place Element Structure in lvcublas.lvlib: Initialize Library.vi:1 -> "path to calling vi of ColeVV"
Possible reason(s):
LabVIEW: The reference is invalid. This error might occur because the reference has been deleted.
GPU Analysis Information:
A GPU resource is invalid.
Cause:
Creating a GPU resource failed.
Solution:
Make sure the resource request was for a valid device. If so, check to see if the device supports the type of resource being created or has the amount of physical resources available to honor the request.
Cause:
A GPU resource has been deleted explicitly.
Solution:
Only delete the resource after all processes using that resource are finished with it.
Cause:
A GPU resource has been deleted implicitly.
Solution:
Avoid replacing an existing GPU resource with a newly created one in situations where the resource is being cached (e.g. passed to a shift register).
Once a GPU resource is no longer used, it may be scheduled for deletion internally to release system resources and avoid memory leaks.
--------------
This issue only seems to crop up every once in a while in my development code and when I re-run the vi after seeing the error, it usually works again. However, when I build the application into an executable, it seems to always show some error, which I am assuming is the same error and the executable crashes. I tried debugging it by enabling debugging in the build specification and doing "operate->Debug Application or Shared Library", however see the effects reported in the forum post here.
Does anyone have any suggestions?
02-27-2013 12:41 PM
Hi ColeVV,
Have you tried the possible solutions that LabVIEW suggested?
If you keep experiencing issues, I recommend you to contact National Instruments.
Best,
Carmen C.
02-27-2013 12:51 PM
Hi Carmen,
Yes, I should have been more clear.
-------
Cause:
Creating a GPU resource failed.
Solution:
Make sure the resource request was for a valid device. If so, check to see if the device supports the type of resource being created or has the amount of physical resources available to honor the request.
-------
It is definately a valid device, otherwise it wouldn't work each other time
-------
Cause:
A GPU resource has been deleted explicitly.
Solution:
Only delete the resource after all processes using that resource are finished with it.
Cause:
A GPU resource has been deleted implicitly.
Solution:
Avoid replacing an existing GPU resource with a newly created one in situations where the resource is being cached (e.g. passed to a shift register).
-------
The way I use the GPU is dead simple. I initialize the GPU, load CUBLAS, put 3 matrices on the GPU after allocating the memory for them, multiply them, take my answer off the GPU, free the memory and then close the GPU reference. There is only one location where the GPU is initialized and closed and it is all within the same subvi (maybe the subvi is a problem?)
I guess a step I can take is to remove the subvi and see if this resolves the problem...