I am trying to get my neural network running on my university's supercomputer in order to decrease its runtime (not for training, for testing - feedforward runs only).

However, the Matlab function I am using to run my network (semanticseg) is running more slowly on one of the supercomputer's nVidia Volta V100 GPU's than on my laptop's intel(r) uhd graphics 620.

I've used the Matlab profile function to make sure that it really is the semanticseg function that's running more slowly (and not some other part of my code), and it really is, it takes about five times the laptop compute time to run on the supercomputer.

Does anyone have any ideas why this might be? It seems totally illogical to me, and all my coworkers are stumped. Why would a neural network run more slowly on a more powerful GPU?

  • $\begingroup$ I'm not familiar regarding using neural networks in Matlab but perhaps you are not utilizing the GPU when using the supercomputer? Also, do you do inference at this remote computer which then transfer the result to your local computer? If that's the case, the delay might be due to communication. $\endgroup$ – SpiderRico Feb 12 at 17:19
  • $\begingroup$ The function should by default be using the GPU, but I'll double check to make sure that it is. There isn't any communication between the remote computer and my laptop during the running of the program so that can't be slowing things down. $\endgroup$ – The Impossible Squish Feb 12 at 17:27
  • $\begingroup$ Yep, I double checked. Definitely using the GPU. Thanks for the idea though, it was good to double check. $\endgroup$ – The Impossible Squish Feb 12 at 18:11
  • $\begingroup$ Sure. Maybe if you paste the relevant portions of your code, people who used Matlab to do ML might help more. $\endgroup$ – SpiderRico Feb 12 at 18:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.