Fix warnings & consolidate declarations
authorSzilárd Páll <pall.szilard@gmail.com>
Mon, 15 Apr 2019 16:24:42 +0000 (18:24 +0200)
committerBerk Hess <hess@kth.se>
Thu, 18 Apr 2019 12:21:29 +0000 (14:21 +0200)
- Unused variables warnings with cuda 10.1
- Early declaration of kernel pointers eliminated

Change-Id: I7c8ca06322a3da9c948cc19d6b0b0f6a53f16beb

src/gromacs/nbnxm/cuda/nbnxm_cuda.cu
src/gromacs/nbnxm/opencl/nbnxm_ocl.cpp

index 1a638c415848acac711bb312284d14938e25665f..250323b280a21abae6df836d96ef3aee17a294ef 100644 (file)
@@ -377,11 +377,6 @@ void gpu_launch_kernel(gmx_nbnxn_cuda_t          *nb,
                        const int                  flags,
                        const InteractionLocality  iloc)
 {
-    /* CUDA kernel launch-related stuff */
-    int                  nblock;
-    dim3                 dim_block, dim_grid;
-    nbnxn_cu_kfunc_ptr_t nb_kernel = nullptr; /* fn pointer to the nonbonded kernel */
-
     cu_atomdata_t       *adat    = nb->atdat;
     cu_nbparam_t        *nbp     = nb->nbparam;
     cu_plist_t          *plist   = nb->plist[iloc];
@@ -429,13 +424,6 @@ void gpu_launch_kernel(gmx_nbnxn_cuda_t          *nb,
         t->interaction[iloc].nb_k.openTimingRegion(stream);
     }
 
-    /* get the pointer to the kernel flavor we need to use */
-    nb_kernel = select_nbnxn_kernel(nbp->eeltype,
-                                    nbp->vdwtype,
-                                    bCalcEner,
-                                    (plist->haveFreshList && !nb->timers->interaction[iloc].didPrune),
-                                    nb->dev_info);
-
     /* Kernel launch config:
      * - The thread block dimensions match the size of i-clusters, j-clusters,
      *   and j-cluster concurrency, in x, y, and z, respectively.
@@ -446,7 +434,8 @@ void gpu_launch_kernel(gmx_nbnxn_cuda_t          *nb,
     {
         num_threads_z = 2;
     }
-    nblock    = calc_nb_kernel_nblock(plist->nsci, nb->dev_info);
+    int nblock    = calc_nb_kernel_nblock(plist->nsci, nb->dev_info);
+
 
     KernelLaunchConfig config;
     config.blockSize[0]     = c_clSize;
@@ -467,9 +456,14 @@ void gpu_launch_kernel(gmx_nbnxn_cuda_t          *nb,
                 config.sharedMemorySize);
     }
 
-    auto      *timingEvent = bDoTime ? t->interaction[iloc].nb_k.fetchNextEvent() : nullptr;
-    const auto kernelArgs  = prepareGpuKernelArguments(nb_kernel, config, adat, nbp, plist, &bCalcFshift);
-    launchGpuKernel(nb_kernel, config, timingEvent, "k_calc_nb", kernelArgs);
+    auto       *timingEvent = bDoTime ? t->interaction[iloc].nb_k.fetchNextEvent() : nullptr;
+    const auto  kernel      = select_nbnxn_kernel(nbp->eeltype,
+                                                  nbp->vdwtype,
+                                                  bCalcEner,
+                                                  (plist->haveFreshList && !nb->timers->interaction[iloc].didPrune),
+                                                  nb->dev_info);
+    const auto kernelArgs  = prepareGpuKernelArguments(kernel, config, adat, nbp, plist, &bCalcFshift);
+    launchGpuKernel(kernel, config, timingEvent, "k_calc_nb", kernelArgs);
 
     if (bDoTime)
     {
@@ -590,7 +584,7 @@ void gpu_launch_kernel_pruneonly(gmx_nbnxn_cuda_t          *nb,
 
     auto          *timingEvent  = bDoTime ? timer->fetchNextEvent() : nullptr;
     constexpr char kernelName[] = "k_pruneonly";
-    const auto    &kernel       = plist->haveFreshList ? nbnxn_kernel_prune_cuda<true> : nbnxn_kernel_prune_cuda<false>;
+    const auto     kernel       = plist->haveFreshList ? nbnxn_kernel_prune_cuda<true> : nbnxn_kernel_prune_cuda<false>;
     const auto     kernelArgs   = prepareGpuKernelArguments(kernel, config, adat, nbp, plist, &numParts, &part);
     launchGpuKernel(kernel, config, timingEvent, kernelName, kernelArgs);
 
index 0eb6ff9d050beb2e8402926836b0fb764ebcef63..d3b860e6e6f30389d059de0fc892a565fb3d4456 100644 (file)
@@ -470,9 +470,6 @@ void gpu_launch_kernel(gmx_nbnxn_ocl_t                  *nb,
                        const int                         flags,
                        const Nbnxm::InteractionLocality  iloc)
 {
-    /* OpenCL kernel launch-related stuff */
-    cl_kernel            nb_kernel = nullptr;  /* fn pointer to the nonbonded kernel */
-
     cl_atomdata_t       *adat    = nb->atdat;
     cl_nbparam_t        *nbp     = nb->nbparam;
     cl_plist_t          *plist   = nb->plist[iloc];
@@ -523,13 +520,6 @@ void gpu_launch_kernel(gmx_nbnxn_ocl_t                  *nb,
         t->interaction[iloc].nb_k.openTimingRegion(stream);
     }
 
-    /* get the pointer to the kernel flavor we need to use */
-    nb_kernel = select_nbnxn_kernel(nb,
-                                    nbp->eeltype,
-                                    nbp->vdwtype,
-                                    bCalcEner,
-                                    (plist->haveFreshList && !nb->timers->interaction[iloc].didPrune));
-
     /* kernel launch config */
 
     KernelLaunchConfig config;
@@ -554,25 +544,32 @@ void gpu_launch_kernel(gmx_nbnxn_ocl_t                  *nb,
 
     auto          *timingEvent  = bDoTime ? t->interaction[iloc].nb_k.fetchNextEvent() : nullptr;
     constexpr char kernelName[] = "k_calc_nb";
+    const auto     kernel       = select_nbnxn_kernel(nb,
+                                                      nbp->eeltype,
+                                                      nbp->vdwtype,
+                                                      bCalcEner,
+                                                      (plist->haveFreshList && !nb->timers->interaction[iloc].didPrune));
+
+
     if (useLjCombRule(nb->nbparam->vdwtype))
     {
-        const auto kernelArgs = prepareGpuKernelArguments(nb_kernel, config,
+        const auto kernelArgs = prepareGpuKernelArguments(kernel, config,
                                                           &nbparams_params, &adat->xq, &adat->f, &adat->e_lj, &adat->e_el, &adat->fshift,
                                                           &adat->lj_comb,
                                                           &adat->shift_vec, &nbp->nbfp_climg2d, &nbp->nbfp_comb_climg2d, &nbp->coulomb_tab_climg2d,
                                                           &plist->sci, &plist->cj4, &plist->excl, &bCalcFshift);
 
-        launchGpuKernel(nb_kernel, config, timingEvent, kernelName, kernelArgs);
+        launchGpuKernel(kernel, config, timingEvent, kernelName, kernelArgs);
     }
     else
     {
-        const auto kernelArgs = prepareGpuKernelArguments(nb_kernel, config,
+        const auto kernelArgs = prepareGpuKernelArguments(kernel, config,
                                                           &adat->ntypes,
                                                           &nbparams_params, &adat->xq, &adat->f, &adat->e_lj, &adat->e_el, &adat->fshift,
                                                           &adat->atom_types,
                                                           &adat->shift_vec, &nbp->nbfp_climg2d, &nbp->nbfp_comb_climg2d, &nbp->coulomb_tab_climg2d,
                                                           &plist->sci, &plist->cj4, &plist->excl, &bCalcFshift);
-        launchGpuKernel(nb_kernel, config, timingEvent, kernelName, kernelArgs);
+        launchGpuKernel(kernel, config, timingEvent, kernelName, kernelArgs);
     }
 
     if (bDoTime)
@@ -678,7 +675,6 @@ void gpu_launch_kernel_pruneonly(gmx_nbnxn_gpu_t           *nb,
      * - The 1D block-grid contains as many blocks as super-clusters.
      */
     int       num_threads_z = getOclPruneKernelJ4Concurrency(nb->dev_info->vendor_e);
-    cl_kernel pruneKernel   = selectPruneKernel(nb->kernel_pruneonly, plist->haveFreshList);
 
     /* kernel launch config */
     KernelLaunchConfig config;
@@ -706,6 +702,7 @@ void gpu_launch_kernel_pruneonly(gmx_nbnxn_gpu_t           *nb,
 
     auto          *timingEvent  = bDoTime ? timer->fetchNextEvent() : nullptr;
     constexpr char kernelName[] = "k_pruneonly";
+    const auto     pruneKernel  = selectPruneKernel(nb->kernel_pruneonly, plist->haveFreshList);
     const auto     kernelArgs   = prepareGpuKernelArguments(pruneKernel, config,
                                                             &nbparams_params, &adat->xq, &adat->shift_vec,
                                                             &plist->sci, &plist->cj4, &plist->imask, &numParts, &part);