Prompt CUDA build as an option if NVCC is available 24/5024/3
authorJaemin Choi <jchoi157@illinois.edu>
Sat, 16 Mar 2019 22:28:42 +0000 (18:28 -0400)
committerEvan Ramos <evan@hpccharm.com>
Wed, 20 Mar 2019 19:01:07 +0000 (14:01 -0500)
Change-Id: I947dc83aa54a47833e4d0087be97458e5e855fd5

smart-build.pl

index ba08eb7bd88d90951c2b543dcd45d49a07d4492d..62b62fa8df82e71cbc5f777b7299a3b67211188a 100755 (executable)
@@ -297,6 +297,23 @@ EOF
 }
 
 
+# check for CUDA
+
+my $nvcc_found = "false";
+my $n = system("which nvcc > /dev/null 2>/dev/null") / 256;
+if($n == 0){
+  $nvcc_found = "true";
+}
+
+if($nvcc_found eq "true"){
+  print "\nI found that you have NVCC available in your path.\nDo you want to build Charm++ with GPU Manager support for CUDA? [y/N]: ";
+  my $p = promptUserYN();
+  if($p eq "yes") {
+    $options = "$options cuda";
+  }
+}
+
+
 # construct an $arch string if we did not explicitly set one above
 if($arch eq ""){
   $arch = "${converse_network_type}-${arch_os}";
@@ -347,7 +364,7 @@ if($opts =~ m/pxshm/){
 }
 
 if ($counter != 1) {
-    print "How do you want to handle SMP/Multicore: [1-$counter]\n";
+    print "\nHow do you want to handle SMP/Multicore: [1-$counter]\n";
     print $smp_opts;
 
     while(my $line = <>){