tchanged debug flag type - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
 (HTM) git clone git://src.adamsgaard.dk/sphere
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 2184bb21b72c8c0b61d8fee27347fdc2ba40a48e
 (DIR) parent c6d44f81e30f3b9f8bf1cb99f078a16dc1965db9
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Fri, 23 May 2014 11:06:45 +0200
       
       changed debug flag type
       
       Diffstat:
         M src/debug.h                         |       5 ++---
         M src/device.cu                       |     120 ++++++++++++++++----------------
       
       2 files changed, 62 insertions(+), 63 deletions(-)
       ---
 (DIR) diff --git a/src/debug.h b/src/debug.h
       t@@ -21,9 +21,8 @@ const unsigned int nijacnorm = 10;
        const int write_res_log = 0;
        
        // Report epsilon values during Jacobi iterations to stdout
       -// 0: False, 1: True
       -const int report_epsilon = 0;
       -const int report_even_more_epsilon = 0;
       +//#define REPORT_EPSILON
       +//#define REPORT_MORE_EPSILON
        
        // Report the number of iterations it took before convergence to logfile
        // 'output/<sid>-conv.dat'
 (DIR) diff --git a/src/device.cu b/src/device.cu
       t@@ -948,14 +948,14 @@ __host__ void DEM::startTime()
                            cudaThreadSynchronize();
                            checkForCudaErrorsIter("Post setUpperPressureNS", iter);
        
       -                    if (report_even_more_epsilon == 1) {
       -                        std::cout
       -                            << "\n@@@@@@ TIME STEP " << iter << " @@@@@@"
       -                            << "\n###### EPSILON AFTER setUpperPressureNS "
       -                            << "######" << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_MORE_EPSILON
       +                    std::cout
       +                        << "\n@@@@@@ TIME STEP " << iter << " @@@@@@"
       +                        << "\n###### EPSILON AFTER setUpperPressureNS "
       +                        << "######" << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
                        }
        
                        // Set the values of the ghost nodes in the grid
       t@@ -1100,13 +1100,13 @@ __host__ void DEM::startTime()
                                        &t_setNSepsilon);
                            checkForCudaErrorsIter("Post setNSepsilonInterior", iter);
        
       -                    if (report_even_more_epsilon == 1) {
       -                        std::cout
       -                            << "\n###### EPSILON AFTER setNSepsilonInterior "
       -                            << "######" << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_MORE_EPSILON
       +                    std::cout
       +                        << "\n###### EPSILON AFTER setNSepsilonInterior "
       +                        << "######" << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                            // Set the epsilon values at the lower boundary
                            pressure = ns.p[idx(0,0,0)];
       t@@ -1124,13 +1124,13 @@ __host__ void DEM::startTime()
                                        &t_setNSdirichlet);
                            checkForCudaErrorsIter("Post setNSepsilonBottom", iter);
        
       -                    if (report_even_more_epsilon == 1) {
       -                        std::cout
       -                            << "\n###### EPSILON AFTER setNSepsilonBottom "
       -                            << "######" << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_MORE_EPSILON
       +                    std::cout
       +                        << "\n###### EPSILON AFTER setNSepsilonBottom "
       +                        << "######" << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                            /*setNSghostNodes<Float><<<dimGridFluid, dimBlockFluid>>>(
                              dev_ns_epsilon);
       t@@ -1144,13 +1144,13 @@ __host__ void DEM::startTime()
                            checkForCudaErrorsIter("Post setNSghostNodesEpsilon(1)",
                                    iter);
        
       -                    if (report_even_more_epsilon == 1) {
       -                        std::cout <<
       -                            "\n###### EPSILON AFTER setNSghostNodes(epsilon) "
       -                            << "######" << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_MORE_EPSILON
       +                    std::cout <<
       +                        "\n###### EPSILON AFTER setNSghostNodes(epsilon) "
       +                        << "######" << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
                        }
        
                        // Solve the system of epsilon using a Jacobi iterative solver.
       t@@ -1166,13 +1166,13 @@ __host__ void DEM::startTime()
                            reslog.open("max_res_norm.dat");
        
                        // transfer normalized residuals from GPU to CPU
       -                if (report_epsilon == 1) {
       -                    std::cout << "\n###### BEFORE FIRST JACOBI ITERATION ######"
       -                        << "\n@@@@@@ TIME STEP " << iter << " @@@@@@"
       -                        << std::endl;
       -                    transferNSepsilonFromGlobalDeviceMemory();
       -                    printNSarray(stdout, ns.epsilon, "epsilon");
       -                }
       +#ifdef REPORT_MORE_EPSILON
       +                std::cout << "\n###### BEFORE FIRST JACOBI ITERATION ######"
       +                    << "\n@@@@@@ TIME STEP " << iter << " @@@@@@"
       +                    << std::endl;
       +                transferNSepsilonFromGlobalDeviceMemory();
       +                printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                        for (unsigned int nijac = 0; nijac<ns.maxiter; ++nijac) {
        
       t@@ -1213,14 +1213,14 @@ __host__ void DEM::startTime()
                            checkForCudaErrorsIter("Post setNSghostNodesEpsilon(2)",
                                    iter);
        
       -                    if (report_epsilon == 1) {
       -                        std::cout << "\n###### JACOBI ITERATION "
       -                            << nijac
       -                            << " after setNSghostNodes(epsilon,2) ######"
       -                            << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_EPSILON
       +                    std::cout << "\n###### JACOBI ITERATION "
       +                        << nijac
       +                        << " after setNSghostNodes(epsilon,2) ######"
       +                        << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                            /*smoothing<Float><<<dimGridFluid, dimBlockFluid>>>(
                              dev_ns_epsilon,
       t@@ -1228,13 +1228,13 @@ __host__ void DEM::startTime()
                              cudaThreadSynchronize();
                              checkForCudaErrorsIter("Post smoothing", iter);
        
       -                      if (report_epsilon == 1) {
       +#ifdef REPORT_EPSILON
                              std::cout << "\n###### JACOBI ITERATION "
                              << nijac << " after smoothing(epsilon) ######"
                              << std::endl;
                              transferNSepsilonFromGlobalDeviceMemory();
                              printNSarray(stdout, ns.epsilon, "epsilon");
       -                      }
       +#endif
        
                              setNSghostNodes<Float><<<dimGridFluid, dimBlockFluid>>>(
                              dev_ns_epsilon,
       t@@ -1300,13 +1300,13 @@ __host__ void DEM::startTime()
                              checkForCudaErrorsIter("Post findNormalizedResiduals",
                              iter);*/
        
       -                    if (report_epsilon == 1) {
       -                        std::cout << "\n###### JACOBI ITERATION "
       -                            << nijac << " after jacobiIterationNS ######"
       -                            << std::endl;
       -                        transferNSepsilonFromGlobalDeviceMemory();
       -                        printNSarray(stdout, ns.epsilon, "epsilon");
       -                    }
       +#ifdef REPORT_EPSILON
       +                    std::cout << "\n###### JACOBI ITERATION "
       +                        << nijac << " after jacobiIterationNS ######"
       +                        << std::endl;
       +                    transferNSepsilonFromGlobalDeviceMemory();
       +                    printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                            if (nijac % nijacnorm == 0) {
        
       t@@ -1357,13 +1357,13 @@ __host__ void DEM::startTime()
                                        ("Post setNSghostNodesEpsilon(4)", iter);
                                }
        
       -                        if (report_epsilon == 1) {
       -                            std::cout << "\n###### JACOBI ITERATION "
       -                                << nijac << " after smoothing ######"
       -                                << std::endl;
       -                            transferNSepsilonFromGlobalDeviceMemory();
       -                            printNSarray(stdout, ns.epsilon, "epsilon");
       -                        }
       +#ifdef REPORT_EPSILON
       +                        std::cout << "\n###### JACOBI ITERATION "
       +                            << nijac << " after smoothing ######"
       +                            << std::endl;
       +                        transferNSepsilonFromGlobalDeviceMemory();
       +                        printNSarray(stdout, ns.epsilon, "epsilon");
       +#endif
        
                                break;  // solution has converged, exit Jacobi loop
                            }