0

I just updated my server and I am running a web service using Deeplearning4j. I wanted to check out different configurations for performance to decide where to put future efforts. From what know.

  1. Native or CPU which is my current default
  2. CUDA or GPU usage. Set environment in code to use CUDA
  3. GTX GPU specific.

For #2 I am thinking I need to remove ND4J native jars from classpath in addition setting the environment in my Java code.

For #3 I am not sure if that applies for when I use my DNN model but only for training?

Many Thanks for feedback!

Tony Anecito
  • 347
  • 2
  • 13
  • Hi, it really depends on the size of your network and the kind of problem. There's not really 1 simple answer for this. For example, smaller nets are slower on cpu, and gpus require batching. You'd need to get more specific if you want to get a better answer. – Adam Gibson Nov 16 '20 at 01:35
  • Thanks Adam. My model is very small like 3KB in file size. I only have maybe 4 layers in it. There are 300 inputs from a 300x300 pixel image slice and the image size can be as high as 3k x 1k. Best Regards! – Tony Anecito Nov 22 '20 at 04:22

1 Answers1

1

After running some tests it seems there is no difference. But after my server update going from a 3rd generation i7 to a 10th generation and updating my memory from 800MT/sec to 2400MT/sec seemed to have the biggest gain overall. I had no change in PCIe I am still at 3.0 and the GPU is still a GTX 1080. I have not tried overclocking the memory or GTX 1080 yet. That would indicate maybe the critical path is the memory or GTX. I suspect the memory is where the biggest gain is for my users.

Tony Anecito
  • 347
  • 2
  • 13