A couple of follow up comments/questions:
First off, I tried moving my loaded Module to the GPU by doing the following:
  std::shared_ptr<torch::jit::script::Module> module = torch::jit::load(argv[1]);
  module->to(at::kCUDA);

However, this yields a compile error:
$ make
Scanning dependencies of target example-app
[ 50%] Building CXX object CMakeFiles/example-app.dir/example-app.cpp.o
/home/abweiss/pt1_example_0/example-app.cpp: In function ‘int main(int, const char**)’:
/home/abweiss/pt1_example_0/example-app.cpp:16:11: error: ‘struct torch::jit::script::Module’ has no member named ‘to’
   module->to(at::kCUDA);

So apparently torch::nn::Module has a to function, but not torch::jit::script::Module.
Second, I have a question.  What is the difference between at::kCUDA and  torch::kCUDA?  When should I be using one instead of the other?