mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Fixed TeX typos and href for issues
This commit is contained in:
+73
-63
@@ -3,8 +3,8 @@
|
||||
<html >
|
||||
<head><title>GPU example</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
|
||||
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
|
||||
<!-- html,3 -->
|
||||
<meta name="src" content="userhtml.tex">
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
@@ -52,23 +52,24 @@ class="cmr-12">variables:</span>
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 448--><p class="noindent" >
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-10">
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-10">
|
||||
program amg_dexample_gpu
|
||||
  use psb_base_mod
|
||||
  use amg_prec_mod
|
||||
  use psb_krylov_mod
|
||||
  use psb_util_mod
|
||||
  use psb_gpu_mod
|
||||
  use data_input
|
||||
  use amg_d_pde_mod
|
||||
  implicit none
|
||||
  .......
|
||||
  ! GPU variables
|
||||
  type(psb_d_hlg_sparse_mat) :: agmold
|
||||
  type(psb_d_vect_gpu)       :: vgmold
|
||||
  type(psb_i_vect_gpu)       :: igmold
|
||||
 
|
||||
</pre>
|
||||
 <br />  use psb_base_mod
|
||||
 <br />  use amg_prec_mod
|
||||
 <br />  use psb_krylov_mod
|
||||
 <br />  use psb_util_mod
|
||||
 <br />  use psb_gpu_mod
|
||||
 <br />  use data_input
|
||||
 <br />  use amg_d_pde_mod
|
||||
 <br />  implicit none
|
||||
 <br />  .......
|
||||
 <br />  ! GPU variables
|
||||
 <br />  type(psb_d_hlg_sparse_mat) :: agmold
|
||||
 <br />  type(psb_d_vect_gpu)       :: vgmold
|
||||
 <br />  type(psb_i_vect_gpu)       :: igmold
|
||||
 <br />
|
||||
 <br /> 
|
||||
</div>
|
||||
<!--l. 467--><p class="nopar" ></div></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Listing 5: </span><span
|
||||
@@ -103,19 +104,20 @@ class="cmr-12">guides).</span>
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 497--><p class="noindent" >
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-11">
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-11">
|
||||
  call psb_init(ctxt)
|
||||
  call psb_info(ctxt,iam,np)
|
||||
  !
|
||||
  ! BEWARE: if you have NGPUS  per node, the default is to
|
||||
  ! attach to mod(IAM,NGPUS)
|
||||
  !
|
||||
  call psb_gpu_init(ictxt)
|
||||
  ......
|
||||
  t1 = psb_wtime()
|
||||
  call prec%smoothers_build(a,desc_a,info, amold=agmold, vmold=vgmold, imold=igmold)
|
||||
 
|
||||
</pre>
|
||||
 <br />  call psb_info(ctxt,iam,np)
|
||||
 <br />  !
|
||||
 <br />  ! BEWARE: if you have NGPUS  per node, the default is to
|
||||
 <br />  ! attach to mod(IAM,NGPUS)
|
||||
 <br />  !
|
||||
 <br />  call psb_gpu_init(ictxt)
|
||||
 <br />  ......
|
||||
 <br />  t1 = psb_wtime()
|
||||
 <br />  call prec%smoothers_build(a,desc_a,info, amold=agmold, vmold=vgmold, imold=igmold)
|
||||
 <br />
|
||||
 <br /> 
|
||||
</div>
|
||||
<!--l. 512--><p class="nopar" ></div></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Listing 6: </span><span
|
||||
@@ -143,31 +145,34 @@ class="cmr-12">GPU environment</span>
|
||||
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 552--><p class="noindent" >
|
||||
<div class="minipage"><pre class="verbatim" id="verbatim-12">
|
||||
<!--l. 553--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-12">
|
||||
  call desc_a%cnv(mold=igmold)
|
||||
  call a%cscnv(info,mold=agmold)
|
||||
  call psb_geasb(x,desc_a,info,mold=vgmold)
|
||||
  call psb_geasb(b,desc_a,info,mold=vgmold)
|
||||
  !
|
||||
  ! iterative method parameters
|
||||
  !
|
||||
  call psb_barrier(ctxt)
|
||||
  call prec%allocate_wrk(info)
|
||||
  t1 = psb_wtime()
|
||||
  call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
       & desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
       & istop=s_choice%istopc,irst=s_choice%irst)
|
||||
  call prec%deallocate_wrk(info)
|
||||
  call psb_barrier(ctxt)
|
||||
  tslv = psb_wtime() - t1
|
||||
  ......
|
||||
  call psb_gpu_exit()
|
||||
  call psb_exit(ctxt)
|
||||
  stop
|
||||
 
|
||||
</pre>
|
||||
<!--l. 579--><p class="nopar" ></div></div>
|
||||
 <br />  call a%cscnv(info,mold=agmold)
|
||||
 <br />  call psb_geasb(x,desc_a,info,mold=vgmold)
|
||||
 <br />  call psb_geasb(b,desc_a,info,mold=vgmold)
|
||||
 <br />
|
||||
 <br />  !
|
||||
 <br />  ! iterative method parameters
|
||||
 <br />  !
|
||||
 <br />  call psb_barrier(ctxt)
|
||||
 <br />  call prec%allocate_wrk(info)
|
||||
 <br />  t1 = psb_wtime()
|
||||
 <br />  call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
 <br />       & desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
 <br />       & istop=s_choice%istopc,irst=s_choice%irst)
|
||||
 <br />  call prec%deallocate_wrk(info)
|
||||
 <br />  call psb_barrier(ctxt)
|
||||
 <br />  tslv = psb_wtime() - t1
|
||||
 <br />
|
||||
 <br />  ......
|
||||
 <br />  call psb_gpu_exit()
|
||||
 <br />  call psb_exit(ctxt)
|
||||
 <br />  stop
|
||||
 <br />
|
||||
 <br /> 
|
||||
</div>
|
||||
<!--l. 580--><p class="nopar" ></div></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Listing 7: </span><span
|
||||
class="content">setup of a GPU-enabled test program part three.</span></div><!--tex4ht:label?: x16-15003r7 -->
|
||||
@@ -175,25 +180,30 @@ class="content">setup of a GPU-enabled test program part three.</span></div><!--
|
||||
|
||||
|
||||
</div><hr class="endfloat" />
|
||||
<!--l. 587--><p class="indent" > <span
|
||||
class="cmr-12">It is very important to employ solvers that are suited to the GPU, i.e. solvers that</span>
|
||||
<!--l. 588--><p class="indent" > <span
|
||||
class="cmr-12">It is very important to employ smoothers and coarsest solvers that are suited to the</span>
|
||||
<span
|
||||
class="cmr-12">do NOT employ triangular system solve kernels. Solvers that satisfy this constraint</span>
|
||||
class="cmr-12">GPU, i.e. methods that do NOT employ triangular system solve kernels. Methods that</span>
|
||||
<span
|
||||
class="cmr-12">include:</span>
|
||||
class="cmr-12">satisfy this constraint include:</span>
|
||||
<ul class="itemize1">
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">JACOBI</span></span></span>
|
||||
</li>
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">BJAC</span></span></span> <span
|
||||
class="cmr-12">with the following methods on the local blocks:</span>
|
||||
<ul class="itemize2">
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">INVK</span></span></span>
|
||||
</li>
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
</li>
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">INVT</span></span></span>
|
||||
</li>
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
</li>
|
||||
<li class="itemize"><span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-12">AINV</span></span></span></li></ul>
|
||||
<!--l. 596--><p class="noindent" ><span
|
||||
</li></ul>
|
||||
<!--l. 600--><p class="noindent" ><span
|
||||
class="cmr-12">and their </span><span
|
||||
class="cmmi-12">ℓ</span><sub><span
|
||||
class="cmr-8">1</span></sub> <span
|
||||
|
||||
Reference in New Issue
Block a user