mandrew,
Of course, USE statement is required to call MKL blas95 and lapack95 subroutines.
As you can find in the Intel Fortran documentation,
You need an interface block for a subroutine when:
- Calling arguments use argument keywords.
- Some arguments are optional.
- A dummy argument is an assumed-shape array, a pointer, or a target.
- The subroutine extends intrinsic assignment.
- The subroutine can be referenced by a generic name.
- The subroutine is in a dynamic-link library.
So, if you compile your program without USE statement, usual Fortran 77 interface is assumed.
You can find the correspondent MKL examples, for instance:
<MKL_PATH>/examples/blas95/source/dcopyx.f90
Note, you can build .mod files and Fortran 95 libraries first.
To do this just run blas95 examples as described in the MKL user guide.
See examples execution command line also for the proper linking options.
Thanks,
Vladimir