| ceed-operator.c (f643baed4eda0a1f36e3d61f29c6ab9103a63892) | ceed-operator.c (2bba3ffaf13cc90ae8de830effb3b11a0650a2fc) |
|---|---|
| 1// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at 2// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights 3// reserved. See files LICENSE and NOTICE for details. 4// 5// This file is part of CEED, a collection of benchmarks, miniapps, software 6// libraries and APIs for efficient high-order finite element and spectral 7// element discretizations for exascale applications. For more information and 8// source code availability see http://github.com/ceed. --- 797 unchanged lines hidden (view full) --- 806 @param[out] assembled CeedVector to store assembled CeedOperator diagonal 807 @param request Address of CeedRequest for non-blocking completion, else 808 @ref CEED_REQUEST_IMMEDIATE 809 810 @return An error code: 0 - success, otherwise - failure 811 812 @ref User 813**/ | 1// Copyright (c) 2017, Lawrence Livermore National Security, LLC. Produced at 2// the Lawrence Livermore National Laboratory. LLNL-CODE-734707. All Rights 3// reserved. See files LICENSE and NOTICE for details. 4// 5// This file is part of CEED, a collection of benchmarks, miniapps, software 6// libraries and APIs for efficient high-order finite element and spectral 7// element discretizations for exascale applications. For more information and 8// source code availability see http://github.com/ceed. --- 797 unchanged lines hidden (view full) --- 806 @param[out] assembled CeedVector to store assembled CeedOperator diagonal 807 @param request Address of CeedRequest for non-blocking completion, else 808 @ref CEED_REQUEST_IMMEDIATE 809 810 @return An error code: 0 - success, otherwise - failure 811 812 @ref User 813**/ |
| 814int CeedOperatorLinearAssembleDiagonal(CeedOperator op, CeedVector *assembled, | 814int CeedOperatorLinearAssembleDiagonal(CeedOperator op, CeedVector assembled, |
| 815 CeedRequest *request) { 816 int ierr; 817 Ceed ceed = op->ceed; 818 ierr = CeedOperatorCheckReady(ceed, op); CeedChk(ierr); 819 820 // Use backend version, if available 821 if (op->LinearAssembleDiagonal) { 822 ierr = op->LinearAssembleDiagonal(op, assembled, request); CeedChk(ierr); 823 } else { 824 // Fallback to reference Ceed 825 if (!op->opfallback) { 826 ierr = CeedOperatorCreateFallback(op); CeedChk(ierr); 827 } 828 // Assemble | 815 CeedRequest *request) { 816 int ierr; 817 Ceed ceed = op->ceed; 818 ierr = CeedOperatorCheckReady(ceed, op); CeedChk(ierr); 819 820 // Use backend version, if available 821 if (op->LinearAssembleDiagonal) { 822 ierr = op->LinearAssembleDiagonal(op, assembled, request); CeedChk(ierr); 823 } else { 824 // Fallback to reference Ceed 825 if (!op->opfallback) { 826 ierr = CeedOperatorCreateFallback(op); CeedChk(ierr); 827 } 828 // Assemble |
| 829 ierr = CeedVectorSetValue(assembled, 0.0); CeedChk(ierr); |
|
| 829 ierr = op->opfallback->LinearAssembleDiagonal(op->opfallback, assembled, 830 request); CeedChk(ierr); 831 } 832 833 return 0; 834} 835 836/** --- 15 unchanged lines hidden (view full) --- 852 @param request Address of CeedRequest for non-blocking completion, else 853 CEED_REQUEST_IMMEDIATE 854 855 @return An error code: 0 - success, otherwise - failure 856 857 @ref User 858**/ 859int CeedOperatorLinearAssemblePointBlockDiagonal(CeedOperator op, | 830 ierr = op->opfallback->LinearAssembleDiagonal(op->opfallback, assembled, 831 request); CeedChk(ierr); 832 } 833 834 return 0; 835} 836 837/** --- 15 unchanged lines hidden (view full) --- 853 @param request Address of CeedRequest for non-blocking completion, else 854 CEED_REQUEST_IMMEDIATE 855 856 @return An error code: 0 - success, otherwise - failure 857 858 @ref User 859**/ 860int CeedOperatorLinearAssemblePointBlockDiagonal(CeedOperator op, |
| 860 CeedVector *assembled, 861 CeedRequest *request) { | 861 CeedVector assembled, CeedRequest *request) { |
| 862 int ierr; 863 Ceed ceed = op->ceed; 864 ierr = CeedOperatorCheckReady(ceed, op); CeedChk(ierr); 865 866 // Use backend version, if available 867 if (op->LinearAssemblePointBlockDiagonal) { 868 ierr = op->LinearAssemblePointBlockDiagonal(op, assembled, request); 869 CeedChk(ierr); 870 } else { 871 // Fallback to reference Ceed 872 if (!op->opfallback) { 873 ierr = CeedOperatorCreateFallback(op); CeedChk(ierr); 874 } 875 // Assemble | 862 int ierr; 863 Ceed ceed = op->ceed; 864 ierr = CeedOperatorCheckReady(ceed, op); CeedChk(ierr); 865 866 // Use backend version, if available 867 if (op->LinearAssemblePointBlockDiagonal) { 868 ierr = op->LinearAssemblePointBlockDiagonal(op, assembled, request); 869 CeedChk(ierr); 870 } else { 871 // Fallback to reference Ceed 872 if (!op->opfallback) { 873 ierr = CeedOperatorCreateFallback(op); CeedChk(ierr); 874 } 875 // Assemble |
| 876 ierr = CeedVectorSetValue(assembled, 0.0); CeedChk(ierr); |
|
| 876 ierr = op->opfallback->LinearAssemblePointBlockDiagonal(op->opfallback, 877 assembled, request); CeedChk(ierr); 878 } 879 880 return 0; 881} 882 883/** --- 269 unchanged lines hidden --- | 877 ierr = op->opfallback->LinearAssemblePointBlockDiagonal(op->opfallback, 878 assembled, request); CeedChk(ierr); 879 } 880 881 return 0; 882} 883 884/** --- 269 unchanged lines hidden --- |