1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> <link rel="canonical" href="http://www.mcs.anl.gov/petsc/petsc-current/docs/changes/39.html" />
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Documentation: Changes: 3.9</title>
</head>
<body bgcolor="#ffffff">
<div id="version" align=right><b>petsc-3.10.3 2018-12-18</b></div>
<div id="bugreport" align=right><a href="mailto:petsc-maint@mcs.anl.gov?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: petsc-3.10.3 v3.10.3 docs/changes/39.html "><small>Report Typos and Errors</small></a></div>
<h1>Documentation: Changes: 3.9</h1>
<style type="text/css">
h2 {
color: red;
}
h4 {
font-weight: bold;
text-decoration: underline;
}
</style>
<div id="main">
<div align="center">
<h2><a name="CHANGES">CHANGES in the PETSc 3.9 Version</a></h2>
</div>
<h4>General:</h4>
<ul>
<li>The scripts in $PETSC_DIR/bin are now in $PETSC_DIR/lib/petsc/bin</li>
<li>PetscStrncat() renamed to PetscStrlcat() now takes the length of the original allocated space in the string instead of the part left after strings have been copied or concatenated in</li>
<li>CUDA and ViennaCL as GPU backends can now also be used with the release version (no need to use the master branch).</li>
</ul>
<h4>Configure/Build:</h4>
<ul>
<li>Option --with-cuda-arch is removed. Use CUDAFLAGS to directly specify relevent nvcc option [for ex: CUDAFLAGS=-arch=sm_20]</li>
<li>Added --with-avx512-kernels to specify that hand-coded kernels using AVX-512 intrinsics should be used when available. Currently defaults to off.</li>
</ul>
<h4>IS:</h4>
<h4>PetscDraw:</h4>
<h4>PF:</h4>
<h4>Vec:</h4>
<ul>
<li>Added VECNODE type. Vector uses on-node shared memory to store its entries.</li>
</ul>
<h4>VecScatter:</h4>
<ul>
<li>VecScatter becomes a PETSc object. Existing vecscatters have types VECSCATTERSEQ, VECSCATTERMPI1.</li>
<li>Added VECSCATTERMPI3. It stores vector ghost values to the on-node shared memory. </li>
<li>Added VECSCATTERMPI3NODE. It works on vectors of type VECNODE.</li>
</ul>
<h4>PetscSection:</h4>
<h4>Mat:</h4>
<ul>
<li>Added MatShellTestMultTranspose() and MatShellTestMult() for checking if user provided MATSHELL matches the Jacobian of a given function computed with differencing.</li>
<li>MatSolverPackage is replaced with MatSolverType.</li>
<li>mat_solver_package is replaced with mat_solver_type in options, e.g. <code>-pc_factor_mat_solver_type</code> should be used instead of <code>-pc_factor_mat_solver_package</code>.</li>
<li>MatShellSetOperation() and MatShellGetOperation() can now only be used for MATSHELL matrices, use MatSetOperation() and MatGetOperation() to set an operation for any matrix type.</li>
<li>Added MatMumpsGetInverse().</li>
<li>MatMult() for the MATAIJ type has been optimized using AVX-512 intrinsics; must be enabled at configure time.</li>
<li>Added a new Mat type MATSELL, featuring a fast MatMult() kernel on AVX-512 architecture such as KNL and Skylake.</li>
<li>Added support for additional MKL sparse BLAS operations in MATAIJMKL: MatMatMult(), MatTransposeMatMult(), MatPtAP() (symmetric A only). MKL version 18, update 2 or later is required for MatPtAP()/MatPtAPNumeric() and MatMatMultNumeric().
<li>Added MatGetInertia() for SuperLU_DIST interface.</li>
</ul>
<h4>PC:</h4>
<ul>
<li> Added -pc_mg_distinct_smoothup and
PCMGSetDistinctSmoothUp() so that one can control the down and
up smoothers options separately from the options database</li>
<li> Removed -pc_mg_smoothup and -pc_mg_smoothdown and
PCMGSetNumberSmoothUp() and PCMGSetNumberSmoothDown(). Instead,
configure the solvers on the levels with -mg_levels_ksp_max_it
n. If separate numbers of smoothing steps are required for up
and down smoothers, use -pc_mg_distinct_smoothup
-mg_levels_ksp_max_it n -mg_levels_up_ksp_max_it m.</li>
<li>Added PCCHOLESKY to SuperLU_DIST interface.</li>
</ul>
<h4>KSP:</h4>
<h4>SNES:</h4>
<ul>
<li>Removed SNESHasDM() because there is always a DM in SNES.</li>
<li>The SNESType of SNESTEST has been removed, the testing code can now be accessed with the options -snes_test_jacobian, -snes_test_jacobian_display -snes_test_jacobian_display_threshold <threshold> and is
called each time SNES computes a new Jacobian.
</ul>
<h4>SNESLineSearch:</h4>
<h4>TS:</h4>
<ul>
<li>Added TSRHSJacobianTestTranspose() and TSRHSJacobianTest() checking if user provide MATSHELL Jacobian with TSSetRHSJacobian() matches the Jacobian of the function provided to TSSetRHSFunction() computed with finite differencing. Command line options -ts_rhs_jacobian_test_mult_transpose -mat_shell_test_mult_transpose_view and -ts_rhs_jacobian_test_mult -mat_shell_test_mult_view.</li>
<li>Added -ts_trajectory_dirname and -ts_trajectory_filetemplate to allow users to specify the folder name and file name template for disk checkpoints.</li>
</ul>
<h4>TAO:</h4>
<ul>
<li>Changed TaoDefaultMonitor() to TaoMonitorDefault() to match other PETSc default monitor names, also now print with the same format as other monitors %3D Tao ....</li>
<li>Added VecLock{Push|Pop} calls around user callbacks; use of VecGetArray in user callbacks is now prohibited.</li>
<li>Added default matrix-free finite-differencing implementation for Hessian MatMult with TaoDefaultComputeHessianMFFD(). Can be selected with -tao_mf_hessian at command line.</li>
<li>Added Projected Gradient Descent (PGD) and Bounded Nonlinear Conjugate Gradient (BNCG) algorithms for bound constrained problems.</li>
<li>Improved support for recycling BFGS correction vectors between subsequent TaoSolve() calls for the unconstrained LMVM algorithm. Can be enabled using -tao_lmm_recycle at command line.</li>
<li>Convergence tests for all algorithms are separated out of TaoMonitor() calls.</li>
</ul>
<h4>DM/DA:</h4>
<h4>DMPlex:</h4>
<h4>PetscViewer:</h4>
<ul>
<li>PetscViewerVTKFWrite() now takes a MPI_Datatype instead of a PetscDataType argument.</li>
</ul>
<h4> DMNetwork:</h4>
<ul>
<li> DMNetworkGetComponentDataArray and DMNetworkGetComponentTypeOffset are no longer available. Use DMNetworkGetComponent instead.
<li>Added support for sub-dmnetworks.</li>
</ul>
<h4>SYS:</h4>
<ul>
<li>PetscPClose() no longer returns error code from pclose() because some systems cannot reliably deliver it</li>
<li>PetscPopUpSelect() has been removed.</li>
</ul>
<h4>AO:</h4>
<h4>Sieve:</h4>
<h4>Fortran:</h4>
<ul>
<li>The F90Array routines now take a MPI_Datatype argument instead of a PetscDataType. This should not affect user code.</li>
</ul>
</div>
</body>
</html>
|