Skip to content

Commit

Permalink
Introduced, exported, and triggered citation for LIBXSMM's primary/in…
Browse files Browse the repository at this point in the history
…itial publication (#1407)

Public DBCSR API does not permit to query mm_driver, which in case of mm_driver="AUTO" is decided by __LIBXSMM.
  • Loading branch information
hfp committed Mar 10, 2021
1 parent ba9cc34 commit b0d2eed
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
33 changes: 26 additions & 7 deletions src/common/bibliography.F
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,16 @@
!> of documentation.
!>
!> reference_manager.F provides an easy way to cite these references from the code
!> (e.g. whenever the relevant part of the code is executed)
!> (e.g., whenever the relevant part of the code is executed)
!> and to add citations to the input
!> at the end of the run a bibliography is printed that can be used e.g. in papers
!> at the end of the run a bibliography is printed that can be used, e.g., in papers
!> \note
!> references need to be input using the ISI citation format, because it is
!> uniform, easy to parse, and can be exported for example from web of science.
!> (mark the reference, and click 'export to reference software', open the resulting file)
!> Furthermore, it can be easily converted to and from using the bibutils tools
!> a collection of easy to use conversion programs that can be found at
!> http://www.scripps.edu/~cdputnam/software/bibutils/ by Chris Putnam
!> \par History
!> 08.2007 [Joost VandeVondele] Created
!> 01.2014 [Lianheng Tong] Added Kantorovich2008, Kantorovich2008a
!> https://ctan.org/pkg/bibutils by Chris Putnam
!> \author Joost VandeVondele
! **************************************************************************************************
MODULE bibliography
Expand Down Expand Up @@ -91,7 +88,7 @@ MODULE bibliography
Toulouse2004, Limpanuparb2011, Martin2003, Yin2017, Goerigk2017, &
Wilhelm2016a, Wilhelm2016b, Wilhelm2017, Wilhelm2018, Lass2018, cp2kqs2020, &
Behler2007, Behler2011, Schran2020a, Schran2020b, &
Rycroft2009, Thomas2015, Brehm2018, Brehm2020, Shigeta2001
Rycroft2009, Thomas2015, Brehm2018, Brehm2020, Shigeta2001, Heinecke2016

CONTAINS

Expand Down Expand Up @@ -4688,6 +4685,28 @@ SUBROUTINE add_all_references()
"ER"), &
DOI="10.1002/qua.1543")

CALL add_reference(key=Heinecke2016, ISI_record=s2a( &
"PT S", &
"AU Heinecke, A", &
" Henry, G", &
" Hutchinson, M", &
" Pabst, H", &
"TI LIBXSMM: Accelerating Small Matrix Multiplications", &
" by Runtime Code Generation", &
"CT SC'16: International Conference for High Performance Computing,", &
" Networking, Storage, and Analysis", &
"SO Proceedings of Intl. Supercomputing Conference", &
"CL Salt Lake City, UT, USA", &
"PU IEEE", &
"EI 2167-4337", &
"UT 16757864", &
"PY 2016", &
"BP 981", &
"EP 991", &
"DI 10.1109/SC.2016.83", &
"ER"), &
DOI="10.1109/SC.2016.83")

END SUBROUTINE add_all_references

END MODULE bibliography
8 changes: 7 additions & 1 deletion src/cp_dbcsr_cp2k_link.F
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ MODULE cp_dbcsr_cp2k_link
USE basis_set_types, ONLY: gto_basis_set_p_type,&
gto_basis_set_type
USE bibliography, ONLY: Borstnik2014,&
Heinecke2016,&
Schuett2016,&
cite_reference
USE cp_control_types, ONLY: dft_control_type
Expand Down Expand Up @@ -123,7 +124,8 @@ SUBROUTINE create_dbcsr_section(section)
"Fortran MATMUL", &
"Library optimised for Small Matrix Multiplies "// &
"(requires the SMM library at link time)", &
"Intel's libxsmm"))
"LIBXSMM"), &
citations=(/Heinecke2016/))
CALL section_add_keyword(section, keyword)
CALL keyword_release(keyword)

Expand Down Expand Up @@ -438,6 +440,9 @@ SUBROUTINE cp_dbcsr_config(root_section)
SELECT CASE (ival)
CASE (mm_driver_auto)
CALL dbcsr_set_config(mm_driver="AUTO")
#if defined(__LIBXSMM)
CALL cite_reference(Heinecke2016)
#endif
CASE (mm_driver_blas)
CALL dbcsr_set_config(mm_driver="BLAS")
CASE (mm_driver_matmul)
Expand All @@ -446,6 +451,7 @@ SUBROUTINE cp_dbcsr_config(root_section)
CALL dbcsr_set_config(mm_driver="SMM")
CASE (mm_driver_xsmm)
CALL dbcsr_set_config(mm_driver="XSMM")
CALL cite_reference(Heinecke2016)
CASE DEFAULT
CPABORT("Unknown mm_driver")
END SELECT
Expand Down

0 comments on commit b0d2eed

Please sign in to comment.