Change UseCusparse to UseVendor

This commit is contained in:
Wayne Mitchell 2022-03-25 22:07:05 +00:00
parent 112691e2d1
commit 5f7608b875
20 changed files with 49 additions and 55 deletions

View File

@ -193,8 +193,8 @@ on GPUs is shown below.
HYPRE_SetMemoryLocation(HYPRE_MEMORY_DEVICE);
/* setup AMG on GPUs */
HYPRE_SetExecutionPolicy(HYPRE_EXEC_DEVICE);
/* use hypre's SpGEMM instead of cuSPARSE */
HYPRE_SetSpGemmUseCusparse(FALSE);
/* use hypre's SpGEMM instead of vendor implementation */
HYPRE_SetSpGemmUseVendor(FALSE);
/* use GPU RNG */
HYPRE_SetUseGpuRand(TRUE);
if (useHypreGpuMemPool)

View File

@ -75,8 +75,8 @@ int main (int argc, char *argv[])
/* Print GPU info */
/* HYPRE_PrintDeviceInfo(); */
#if defined(HYPRE_USING_GPU)
/* use cuSPARSE for SpGEMM */
HYPRE_SetSpGemmUseCusparse(0);
/* use vendor implementation for SpGEMM */
HYPRE_SetSpGemmUseVendor(0);
#endif
/* Default problem parameters */

View File

@ -91,7 +91,7 @@
call HYPRE_SetMemoryLocation(HYPRE_MEMORY_DEVICE, ierr)
call HYPRE_SetExecutionPolicy(HYPRE_EXEC_DEVICE, ierr)
call HYPRE_SetSpGemmUseCusparse(0, ierr)
call HYPRE_SetSpGemmUseVendor(0, ierr)
! Default problem parameters
n = 33

View File

@ -84,7 +84,7 @@
call HYPRE_SetMemoryLocation(HYPRE_MEMORY_DEVICE, ierr)
call HYPRE_SetExecutionPolicy(HYPRE_EXEC_DEVICE, ierr)
call HYPRE_SetSpGemmUseCusparse(0, ierr)
call HYPRE_SetSpGemmUseVendor(0, ierr)
! Call omp target after HYPRE_Init()

View File

@ -113,7 +113,7 @@
call HYPRE_SetMemoryLocation(HYPRE_MEMORY_DEVICE, ierr)
call HYPRE_SetExecutionPolicy(HYPRE_EXEC_DEVICE, ierr)
call HYPRE_SetSpGemmUseCusparse(0, ierr)
call HYPRE_SetSpGemmUseVendor(0, ierr)
! Default problem parameters
n = 33

View File

@ -268,8 +268,6 @@ hypre_ParCSRTMatMatKTDevice( hypre_ParCSRMatrix *A,
HYPRE_Int num_procs;
hypre_MPI_Comm_size(hypre_ParCSRMatrixComm(A), &num_procs);
HYPRE_Int my_id;
hypre_MPI_Comm_rank(hypre_ParCSRMatrixComm(A), &my_id);
if (hypre_ParCSRMatrixGlobalNumRows(A) != hypre_ParCSRMatrixGlobalNumRows(B) ||
hypre_ParCSRMatrixNumRows(A) != hypre_ParCSRMatrixNumRows(B))
@ -651,8 +649,6 @@ hypre_ParCSRMatrixRAPKTDevice( hypre_ParCSRMatrix *R,
hypre_ParCSRMatrix *P,
HYPRE_Int keep_transpose )
{
/* hypre_ParCSRMatrixPrint(P, "P"); */
/* hypre_ParCSRMatrixPrint(A, "A"); */
hypre_CSRMatrix *R_diag = hypre_ParCSRMatrixDiag(R);
hypre_CSRMatrix *R_offd = hypre_ParCSRMatrixOffd(R);
@ -664,8 +660,6 @@ hypre_ParCSRMatrixRAPKTDevice( hypre_ParCSRMatrix *R,
HYPRE_Int num_procs;
hypre_MPI_Comm_size(hypre_ParCSRMatrixComm(A), &num_procs);
HYPRE_Int my_id;
hypre_MPI_Comm_rank(hypre_ParCSRMatrixComm(A), &my_id);
if ( hypre_ParCSRMatrixGlobalNumRows(R) != hypre_ParCSRMatrixGlobalNumRows(A) ||
hypre_ParCSRMatrixGlobalNumCols(A) != hypre_ParCSRMatrixGlobalNumRows(P) )

View File

@ -139,8 +139,8 @@ hypre_int main (hypre_int argc, char *argv[])
HYPRE_SetExecutionPolicy(HYPRE_EXEC_DEVICE);
#if defined(HYPRE_USING_GPU)
/* use cuSPARSE for SpGEMM */
HYPRE_SetSpGemmUseCusparse(0);
/* use vendor implementation for SpGEMM */
HYPRE_SetSpGemmUseVendor(0);
/* use cuRand for PMIS */
HYPRE_SetUseGpuRand(1);
#endif

View File

@ -282,10 +282,10 @@ main( hypre_int argc,
keepTranspose = 1;
coarsen_type = 8;
mod_rap2 = 1;
HYPRE_Int spgemm_use_cusparse = 0;
HYPRE_Int spgemm_use_vendor = 0;
HYPRE_Int use_curand = 1;
#if defined(HYPRE_USING_HIP) || defined(HYPRE_USING_SYCL)
spgemm_use_cusparse = 1;
spgemm_use_vendor = 1;
#endif
HYPRE_Int spgemm_alg = 1;
HYPRE_Int spgemm_rowest_mtd = 3;
@ -1180,10 +1180,10 @@ main( hypre_int argc,
arg_index++;
default_exec_policy = HYPRE_EXEC_DEVICE;
}
else if ( strcmp(argv[arg_index], "-mm_cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 )
{
arg_index++;
spgemm_use_cusparse = atoi(argv[arg_index++]);
spgemm_use_vendor = atoi(argv[arg_index++]);
}
else if ( strcmp(argv[arg_index], "-spgemm_alg") == 0 )
{
@ -2306,8 +2306,8 @@ main( hypre_int argc,
HYPRE_SetExecutionPolicy(default_exec_policy);
#if defined(HYPRE_USING_GPU)
/* use cuSPARSE for SpGEMM */
ierr = HYPRE_SetSpGemmUseCusparse(spgemm_use_cusparse); hypre_assert(ierr == 0);
/* use vendor implementation for SpGEMM */
ierr = HYPRE_SetSpGemmUseVendor(spgemm_use_vendor); hypre_assert(ierr == 0);
ierr = hypre_SetSpGemmAlgorithm(spgemm_alg); hypre_assert(ierr == 0);
ierr = hypre_SetSpGemmRownnzEstimateMethod(spgemm_rowest_mtd); hypre_assert(ierr == 0);
ierr = hypre_SetSpGemmRownnzEstimateNSamples(spgemm_rowest_nsamples); hypre_assert(ierr == 0);

View File

@ -224,7 +224,7 @@ main( hypre_int argc,
* Print driver parameters
*-----------------------------------------------------------*/
HYPRE_SetSpGemmUseCusparse(0);
HYPRE_SetSpGemmUseVendor(0);
/* use cuRand for PMIS */
HYPRE_SetUseGpuRand(1);

View File

@ -423,7 +423,7 @@ main( hypre_int argc,
HYPRE_Int print_system = 0;
HYPRE_Int verify = 0;
HYPRE_Int use_cusparse = 0;
HYPRE_Int use_vendor = 0;
HYPRE_Int spgemm_alg = 1;
HYPRE_Int rowest_mtd = 3;
HYPRE_Int rowest_nsamples = 32;
@ -550,10 +550,10 @@ main( hypre_int argc,
arg_index++;
mult_order = atoi(argv[arg_index++]);
}
else if ( strcmp(argv[arg_index], "-cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-vendor") == 0 )
{
arg_index++;
use_cusparse = 1;
use_vendor = 1;
}
else if ( strcmp(argv[arg_index], "-spgemmalg") == 0 )
{
@ -661,7 +661,7 @@ main( hypre_int argc,
hypre_assert(errcode == 0);
errcode = hypre_SetSpGemmHashType(hash_type);
hypre_assert(errcode == 0);
errcode = HYPRE_SetSpGemmUseCusparse(use_cusparse);
errcode = HYPRE_SetSpGemmUseVendor(use_vendor);
hypre_assert(errcode == 0);
errcode = hypre_SetSpGemmAlgorithm(spgemm_alg);
hypre_assert(errcode == 0);

View File

@ -1341,7 +1341,7 @@ main( hypre_int argc,
HYPRE_Int arg_index, part, box, var, entry, s, i, j, k;
#if defined(HYPRE_USING_GPU)
HYPRE_Int spgemm_use_cusparse = 0;
HYPRE_Int spgemm_use_vendor = 0;
#endif
HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST;
HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE;
@ -1486,10 +1486,10 @@ main( hypre_int argc,
arg_index++;
default_exec_policy = HYPRE_EXEC_DEVICE;
}
else if ( strcmp(argv[arg_index], "-mm_cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 )
{
arg_index++;
spgemm_use_cusparse = atoi(argv[arg_index++]);
spgemm_use_vendor = atoi(argv[arg_index++]);
}
#endif
else if ( strcmp(argv[arg_index], "-help") == 0 )
@ -1511,7 +1511,7 @@ main( hypre_int argc,
HYPRE_SetExecutionPolicy(default_exec_policy);
#if defined(HYPRE_USING_GPU)
HYPRE_SetSpGemmUseCusparse(spgemm_use_cusparse);
HYPRE_SetSpGemmUseVendor(spgemm_use_vendor);
#endif

View File

@ -2434,7 +2434,7 @@ main( hypre_int argc,
/* end lobpcg */
#if defined(HYPRE_USING_GPU)
HYPRE_Int spgemm_use_cusparse = 0;
HYPRE_Int spgemm_use_vendor = 0;
#endif
HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_DEVICE;
HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE;
@ -2836,10 +2836,10 @@ main( hypre_int argc,
arg_index++;
default_exec_policy = HYPRE_EXEC_DEVICE;
}
else if ( strcmp(argv[arg_index], "-mm_cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 )
{
arg_index++;
spgemm_use_cusparse = atoi(argv[arg_index++]);
spgemm_use_vendor = atoi(argv[arg_index++]);
}
#endif
else
@ -2857,7 +2857,7 @@ main( hypre_int argc,
HYPRE_SetStructExecutionPolicy(HYPRE_EXEC_DEVICE);
#if defined(HYPRE_USING_GPU)
HYPRE_SetSpGemmUseCusparse(spgemm_use_cusparse);
HYPRE_SetSpGemmUseVendor(spgemm_use_vendor);
#endif
if ( solver_id == 39 && lobpcgFlag )

View File

@ -61,7 +61,7 @@ main( hypre_int argc,
void *object;
#if defined(HYPRE_USING_CUDA) || defined(HYPRE_USING_DEVICE_OPENMP)
HYPRE_Int spgemm_use_cusparse = 1;
HYPRE_Int spgemm_use_vendor = 1;
HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST;
#endif
HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE;
@ -192,10 +192,10 @@ main( hypre_int argc,
arg_index++;
default_exec_policy = HYPRE_EXEC_DEVICE;
}
else if ( strcmp(argv[arg_index], "-mm_cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 )
{
arg_index++;
spgemm_use_cusparse = atoi(argv[arg_index++]);
spgemm_use_vendor = atoi(argv[arg_index++]);
}
else if ( strcmp(argv[arg_index], "-memory_host") == 0 )
{
@ -239,7 +239,7 @@ main( hypre_int argc,
hypre_HandleMemoryLocation(hypre_handle()) = memory_location;
#if defined(HYPRE_USING_CUDA) || defined(HYPRE_USING_DEVICE_OPENMP)
hypre_HandleDefaultExecPolicy(hypre_handle()) = default_exec_policy;
hypre_HandleSpgemmUseCusparse(hypre_handle()) = spgemm_use_cusparse;
hypre_HandleSpgemmUseVendor(hypre_handle()) = spgemm_use_vendor;
#endif
// Get number of iterations and residual

View File

@ -63,7 +63,7 @@ main( hypre_int argc,
void *object;
#if defined(HYPRE_USING_CUDA) || defined(HYPRE_USING_DEVICE_OPENMP)
HYPRE_Int spgemm_use_cusparse = 1;
HYPRE_Int spgemm_use_vendor = 1;
HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST;
#endif
HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE;
@ -254,10 +254,10 @@ main( hypre_int argc,
arg_index++;
default_exec_policy = HYPRE_EXEC_DEVICE;
}
else if ( strcmp(argv[arg_index], "-mm_cusparse") == 0 )
else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 )
{
arg_index++;
spgemm_use_cusparse = atoi(argv[arg_index++]);
spgemm_use_vendor = atoi(argv[arg_index++]);
}
else if ( strcmp(argv[arg_index], "-memory_host") == 0 )
{
@ -303,7 +303,7 @@ main( hypre_int argc,
HYPRE_SetExecutionPolicy(default_exec_policy);
#if defined(HYPRE_USING_CUDA) || defined(HYPRE_USING_DEVICE_OPENMP)
ierr = HYPRE_SetSpGemmUseCusparse(spgemm_use_cusparse); hypre_assert(ierr == 0);
ierr = HYPRE_SetSpGemmUseVendor(spgemm_use_vendor); hypre_assert(ierr == 0);
#endif

View File

@ -44,10 +44,10 @@ hypre_F90_IFACE(hypre_setexecutionpolicy, HYPRE_SETEXECUTIONPOLICY)
}
void
hypre_F90_IFACE(hypre_setspgemmusecusparse, HYPRE_SETSPGEMMUSECUSPARSE)
(hypre_F90_Int *use_cusparse, hypre_F90_Int *ierr)
hypre_F90_IFACE(hypre_setspgemmusevendor, HYPRE_SETSPGEMMUSEVENDOR)
(hypre_F90_Int *use_vendor, hypre_F90_Int *ierr)
{
*ierr = (hypre_F90_Int) HYPRE_SetSpGemmUseCusparse(*use_cusparse);
*ierr = (hypre_F90_Int) HYPRE_SetSpGemmUseVendor(*use_vendor);
}
#ifdef __cplusplus

View File

@ -14,20 +14,20 @@
#include "_hypre_utilities.h"
/*--------------------------------------------------------------------------
* HYPRE_SetSpGemmUseCusparse
* HYPRE_SetSpGemmUseVendor
*--------------------------------------------------------------------------*/
HYPRE_Int
HYPRE_SetSpGemmUseCusparse( HYPRE_Int use_cusparse )
HYPRE_SetSpGemmUseVendor( HYPRE_Int use_vendor )
{
return hypre_SetSpGemmUseCusparse(use_cusparse);
return hypre_SetSpGemmUseVendor(use_vendor);
}
/*--------------------------------------------------------------------------
* HYPRE_SetUseGpuRand
*--------------------------------------------------------------------------*/
HYPRE_Int
HYPRE_SetUseGpuRand( HYPRE_Int use_curand )
HYPRE_SetUseGpuRand( HYPRE_Int use_gpu_rand )
{
return hypre_SetUseGpuRand(use_curand);
return hypre_SetUseGpuRand(use_gpu_rand);
}

View File

@ -229,7 +229,7 @@ HYPRE_Int HYPRE_SetGPUMemoryPoolSize(HYPRE_Int bin_growth, HYPRE_Int min_bin, HY
* HYPRE handle
*--------------------------------------------------------------------------*/
HYPRE_Int HYPRE_SetSpGemmUseCusparse( HYPRE_Int use_cusparse );
HYPRE_Int HYPRE_SetSpGemmUseVendor( HYPRE_Int use_vendor );
HYPRE_Int HYPRE_SetUseGpuRand( HYPRE_Int use_curand );
#ifdef __cplusplus

View File

@ -1805,7 +1805,7 @@ HYPRE_Int hypre_GetSyncCudaCompute(HYPRE_Int *cuda_compute_stream_sync_ptr);
HYPRE_Int hypre_SyncComputeStream(hypre_Handle *hypre_handle);
/* handle.c */
HYPRE_Int hypre_SetSpGemmUseCusparse( HYPRE_Int use_cusparse );
HYPRE_Int hypre_SetSpGemmUseVendor( HYPRE_Int use_vendor );
HYPRE_Int hypre_SetSpGemmAlgorithm( HYPRE_Int value );
HYPRE_Int hypre_SetSpGemmRownnzEstimateMethod( HYPRE_Int value );
HYPRE_Int hypre_SetSpGemmRownnzEstimateNSamples( HYPRE_Int value );

View File

@ -16,10 +16,10 @@
/* GPU SpGemm */
HYPRE_Int
hypre_SetSpGemmUseCusparse( HYPRE_Int use_cusparse )
hypre_SetSpGemmUseVendor( HYPRE_Int use_vendor )
{
#if defined(HYPRE_USING_GPU)
hypre_HandleSpgemmUseVendor(hypre_handle()) = use_cusparse;
hypre_HandleSpgemmUseVendor(hypre_handle()) = use_vendor;
#endif
return hypre_error_flag;
}

View File

@ -328,7 +328,7 @@ HYPRE_Int hypre_GetSyncCudaCompute(HYPRE_Int *cuda_compute_stream_sync_ptr);
HYPRE_Int hypre_SyncComputeStream(hypre_Handle *hypre_handle);
/* handle.c */
HYPRE_Int hypre_SetSpGemmUseCusparse( HYPRE_Int use_cusparse );
HYPRE_Int hypre_SetSpGemmUseVendor( HYPRE_Int use_vendor );
HYPRE_Int hypre_SetSpGemmAlgorithm( HYPRE_Int value );
HYPRE_Int hypre_SetSpGemmRownnzEstimateMethod( HYPRE_Int value );
HYPRE_Int hypre_SetSpGemmRownnzEstimateNSamples( HYPRE_Int value );