Skip to main content
`Ctrl`+`K`

# PetscCallBLAS

Calls a BLAS or LAPACK routine so that the stack trace returned from any signal received inside the function call includes the name of the BLAS/LAPACK routine

## Synopsis

    #include <petscsys.h>
    void PetscCallBLAS(char *name,routine)

Not Collective

## Input Parameters

- name - string that gives the name of the function being called

- routine - actual call to the routine including its arguments

## Developer Notes

This does not check error codes returned from the BLAS/LAPACK routine or ever return from the current subroutine. It merely pushes onto the PETSc stack the name of the BLAS/LAPACK routine before calling the routine and removes it after a successful call.

LAPACK routines that return info codes should be followed by

       PetscCheck(!info, PETSC_COMM_SELF, PETSC_ERR_LIB, ...)

This macro exists so that when a BLAS/LAPACK routine results in a crash or corrupts memory, they get blamed instead of PETSc.

## See Also

`PetscCall()`, `PetscStackPushNoCheck()`, `PetscStackPush()`, `PetscCallExternal()`, `PetscCallExternalVoid()`

## Level

developer

## Location

include/petscblaslapack.h

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages