Skip to content

Commit e730c68

Browse files
authored
Define BLIS_VERSION_STRING in blis.h. (#720)
Details: - Previously, the version string was communicated from configure to config.mk (via the config.mk.in template), where it was included via the top-level Makefile, where it was then used to define the preprocessor macro BLIS_VERSION_STRING via a command line argument to the compiler (via -D). This macro is then used within bli_info.c to initialize a static string which can then be queried via the bli_info_get_version_str() function. However, there are some applications that may find utility in being able to access the version string by inspecting the monolithic (flattened) blis.h header file that is created at compile time and installed alongside the library. This commit moves the definition of BLIS_VERSION_STRING into bli_config.h (via the bli_config.h.in template) so that it is embedded in blis.h. The version string is now available in three places: - the static/shared library, which is installed in the 'lib' subdirectory of the install prefix (query-able via the bli_info_get_version_str() function); - the config.mk makefile fragment, which is installed in the 'share' subdirectory of the install prefix (in the VERSION variable); - the blis.h header file, which is installed in the 'include' subdirectory of the install prefix (via the BLIS_VERSION_STRING macro constant). Thanks to Mohsen Aznaveh and Tim Davis for providing the idea for this change. - CREDITS file update.
1 parent dc5d00a commit e730c68

File tree

4 files changed

+72
-71
lines changed

4 files changed

+72
-71
lines changed

CREDITS

Lines changed: 67 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,126 +3,128 @@ BLIS framework
33
Acknowledgements
44
---
55

6-
The BLIS framework was primarily authored by
6+
The BLIS framework was originally authored by
77

8-
Field Van Zee @fgvanzee (The University of Texas at Austin)
8+
Field Van Zee @fgvanzee (The University of Texas at Austin)
99

10-
but many others have contributed code and feedback, including
10+
but many others have contributed code, ideas, and feedback, including
1111

12-
Sameer Agarwal @sandwichmaker (Google)
13-
Murtaza Ali (Texas Instruments)
14-
Sajid Ali @s-sajid-ali (Northwestern University)
12+
Sameer Agarwal @sandwichmaker (Google)
13+
Murtaza Ali (Texas Instruments)
14+
Sajid Ali @s-sajid-ali (Northwestern University)
1515
Erling Andersen @erling-d-andersen
1616
Alex Arslan @ararslan
17-
Vernon Austel (IBM, T.J. Watson Research Center)
18-
Satish Balay @balay (Argonne National Laboratory)
17+
Vernon Austel (IBM, T.J. Watson Research Center)
18+
Mohsen Aznaveh @Aznaveh (Texas A&M University)
19+
Satish Balay @balay (Argonne National Laboratory)
1920
Kihiro Bando @bandokihiro
20-
Matthew Brett @matthew-brett (University of Birmingham)
21+
Matthew Brett @matthew-brett (University of Birmingham)
2122
Jérémie du Boisberranger @jeremiedbb
22-
Jed Brown @jedbrown (Argonne National Laboratory)
23+
Jed Brown @jedbrown (Argonne National Laboratory)
2324
Robin Christ @robinchrist
2425
Dilyn Corner @dilyn-corner
25-
Mat Cross @matcross (NAG)
26+
Mat Cross @matcross (NAG)
2627
@decandia50
27-
Harsh Dave @HarshDave12 (AMD)
28-
Daniël de Kok @danieldk (Explosion)
29-
Kay Dewhurst @jkd2016 (Max Planck Institute, Halle, Germany)
30-
Jeff Diamond (Oracle)
28+
Harsh Dave @HarshDave12 (AMD)
29+
Tim Davis @DrTimothyAldenDavis (Texas A&M University)
30+
Daniël de Kok @danieldk (Explosion)
31+
Kay Dewhurst @jkd2016 (Max Planck Institute, Halle, Germany)
32+
Jeff Diamond (Oracle)
3133
Johannes Dieterich @iotamudelta
3234
Krzysztof Drewniak @krzysz00
33-
Marat Dukhan @Maratyszcza (Google)
34-
Victor Eijkhout @VictorEijkhout (Texas Advanced Computing Center)
35-
Evgeny Epifanovsky @epifanovsky (Q-Chem)
35+
Marat Dukhan @Maratyszcza (Google)
36+
Victor Eijkhout @VictorEijkhout (Texas Advanced Computing Center)
37+
Evgeny Epifanovsky @epifanovsky (Q-Chem)
3638
Isuru Fernando @isuruf
3739
Roman Gareev @gareevroman
3840
Richard Goldschmidt @SuperFluffy
3941
Chris Goodyer
4042
Alexander Grund @Flamefire
41-
John Gunnels @jagunnels (IBM, T.J. Watson Research Center)
43+
John Gunnels @jagunnels (IBM, T.J. Watson Research Center)
4244
Ali Emre Gülcü @Lephar
43-
Jeff Hammond @jeffhammond (Intel)
45+
Jeff Hammond @jeffhammond (Intel)
4446
Jacob Gorm Hansen @jacobgorm
45-
Shivaprashanth H (Global Edge)
47+
Shivaprashanth H (Global Edge)
4648
Jean-Michel Hautbois @jhautbois
4749
Ian Henriksen @insertinterestingnamehere (The University of Texas at Austin)
48-
Greg Henry (Intel)
50+
Greg Henry (Intel)
4951
Minh Quan Ho @hominhquan
5052
Matthew Honnibal @honnibal
5153
Stefan Husmann @stefanhusmann
52-
Francisco Igual @figual (Universidad Complutense de Madrid)
54+
Francisco Igual @figual (Universidad Complutense de Madrid)
5355
Madeesh Kannan @shadeMe
5456
Tony Kelman @tkelman
55-
Lee Killough @leekillough (Cray)
56-
Mike Kistler @mkistler (IBM, Austin Research Laboratory)
57-
Ivan Korostelev @ivan23kor (University of Alberta)
58-
Kyungmin Lee @kyungminlee (Ohio State University)
57+
Lee Killough @leekillough (Cray)
58+
Mike Kistler @mkistler (IBM, Austin Research Laboratory)
59+
Ivan Korostelev @ivan23kor (University of Alberta)
60+
Kyungmin Lee @kyungminlee (Ohio State University)
5961
Michael Lehn @michael-lehn
6062
Shmuel Levine @ShmuelLevine
6163
@lschork2
6264
Dave Love @loveshack
63-
Tze Meng Low (The University of Texas at Austin)
64-
Ye Luo @ye-luo (Argonne National Laboratory)
65-
Ricardo Magana @magania (Hewlett Packard Enterprise)
66-
Madan mohan Manokar @madanm3 (AMD)
65+
Tze Meng Low (The University of Texas at Austin)
66+
Ye Luo @ye-luo (Argonne National Laboratory)
67+
Ricardo Magana @magania (Hewlett Packard Enterprise)
68+
Madan mohan Manokar @madanm3 (AMD)
6769
Giorgos Margaritis
68-
Bryan Marker @bamarker (The University of Texas at Austin)
69-
Simon Lukas Märtens @ACSimon33 (RWTH Aachen University)
70-
Devin Matthews @devinamatthews (The University of Texas at Austin)
70+
Bryan Marker @bamarker (The University of Texas at Austin)
71+
Simon Lukas Märtens @ACSimon33 (RWTH Aachen University)
72+
Devin Matthews @devinamatthews (The University of Texas at Austin)
7173
Stefanos Mavros @smavros
72-
Mithun Mohan @MithunMohanKadavil (AMD)
74+
Mithun Mohan @MithunMohanKadavil (AMD)
7375
@moon-chilled
7476
Ilknur Mustafazade @Runkli
7577
@nagsingh
76-
Bhaskar Nallani @BhaskarNallani (AMD)
77-
Stepan Nassyr @stepannassyr (Jülich Supercomputing Centre)
78+
Bhaskar Nallani @BhaskarNallani (AMD)
79+
Stepan Nassyr @stepannassyr (Jülich Supercomputing Centre)
7880
Nisanth M P @nisanthmp
79-
Nisanth Padinharepatt (AMD)
81+
Nisanth Padinharepatt (AMD)
8082
Ajay Panyala @ajaypanyala
81-
Marc-Antoine Parent @maparent (Conversence)
82-
Devangi Parikh @dnparikh (The University of Texas at Austin)
83-
Elmar Peise @elmar-peise (RWTH-Aachen)
83+
Marc-Antoine Parent @maparent (Conversence)
84+
Devangi Parikh @dnparikh (The University of Texas at Austin)
85+
Elmar Peise @elmar-peise (RWTH-Aachen)
8486
Clément Pernet @ClementPernet
8587
Ilya Polkovnichenko
86-
Jack Poulson @poulson (Stanford)
88+
Jack Poulson @poulson (Stanford)
8789
Mathieu Poumeyrol @kali
88-
Christos Psarras @ChrisPsa (RWTH Aachen University)
90+
Christos Psarras @ChrisPsa (RWTH Aachen University)
8991
@pkubaj
9092
@qnerd
9193
Michael Rader @mrader1248
92-
Pradeep Rao @pradeeptrgit (AMD)
94+
Pradeep Rao @pradeeptrgit (AMD)
9395
Aleksei Rechinskii
94-
Leick Robinson @LeickR (Oracle)
96+
Leick Robinson @LeickR (Oracle)
9597
Karl Rupp @karlrupp
96-
Martin Schatz (The University of Texas at Austin)
98+
Martin Schatz (The University of Texas at Austin)
9799
Nico Schlömer @nschloe
98100
Rene Sitt
99-
Tony Skjellum @tonyskjellum (The University of Tennessee at Chattanooga)
100-
Mikhail Smelyanskiy (Intel, Parallel Computing Lab)
101+
Tony Skjellum @tonyskjellum (The University of Tennessee at Chattanooga)
102+
Mikhail Smelyanskiy (Intel, Parallel Computing Lab)
101103
Nathaniel Smith @njsmith
102104
Shaden Smith @ShadenSmith
103-
Tyler Smith @tlrmchlsmth (The University of Texas at Austin)
105+
Tyler Smith @tlrmchlsmth (The University of Texas at Austin)
104106
Snehith @ArcadioN09
105-
Paul Springer @springer13 (RWTH Aachen University)
106-
Adam J. Stewart @adamjstewart (University of Illinois at Urbana-Champaign)
107+
Paul Springer @springer13 (RWTH Aachen University)
108+
Adam J. Stewart @adamjstewart (University of Illinois at Urbana-Champaign)
107109
Vladimir Sukarev
108-
Harihara Sudhan S @ihariharasudhan (AMD)
110+
Harihara Sudhan S @ihariharasudhan (AMD)
109111
Chengguo Sun @chengguosun
110-
Santanu Thangaraj (AMD)
111-
Nicholai Tukanov @nicholaiTukanov (The University of Texas at Austin)
112-
Rhys Ulerich @RhysU (The University of Texas at Austin)
113-
Robert van de Geijn @rvdg (The University of Texas at Austin)
114-
Meghana Vankadari @Meghana-vankadari (AMD)
115-
Kiran Varaganti @kvaragan (AMD)
116-
Natalia Vassilieva (Hewlett Packard Enterprise)
112+
Santanu Thangaraj (AMD)
113+
Nicholai Tukanov @nicholaiTukanov (The University of Texas at Austin)
114+
Rhys Ulerich @RhysU (The University of Texas at Austin)
115+
Robert van de Geijn @rvdg (The University of Texas at Austin)
116+
Meghana Vankadari @Meghana-vankadari (AMD)
117+
Kiran Varaganti @kvaragan (AMD)
118+
Natalia Vassilieva (Hewlett Packard Enterprise)
117119
@h-vetinari
118-
Andrew Wildman @awild82 (University of Washington)
119-
Zhang Xianyi @xianyi (Chinese Academy of Sciences)
120+
Andrew Wildman @awild82 (University of Washington)
121+
Zhang Xianyi @xianyi (Chinese Academy of Sciences)
120122
Benda Xu @heroxbd
121-
Guodong Xu @docularxu (Linaro.org)
122-
RuQing Xu @xrq-phys (The University of Tokyo)
123+
Guodong Xu @docularxu (Linaro.org)
124+
RuQing Xu @xrq-phys (The University of Tokyo)
123125
Costas Yamin @cosstas
124-
Chenhan Yu @ChenhanYu (The University of Texas at Austin)
125-
Roman Yurchak @rth (Symerio)
126+
Chenhan Yu @ChenhanYu (The University of Texas at Austin)
127+
Roman Yurchak @rth (Symerio)
126128
Stefano Zampini @stefanozampini
127129
M. Zhou @cdluminate
128130

build/bli_config.h.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545
// Enabled kernel sets (kernel_list)
4646
@kernel_list_defines@
4747

48+
#define BLIS_VERSION_STRING "@version@"
49+
4850
#if @enable_system@
4951
#define BLIS_ENABLE_SYSTEM
5052
#else

common.mk

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ get-noopt-cflags-for = $(strip $(CFLAGS_PRESET) \
101101
$(call load-var-for,CLANGFLAGS,$(1)) \
102102
$(call load-var-for,CPPROCFLAGS,$(1)) \
103103
$(CTHREADFLAGS) \
104-
$(CINCFLAGS) $(VERS_DEF) \
104+
$(CINCFLAGS) \
105105
)
106106

107107
get-noopt-cxxflags-for = $(strip $(CFLAGS_PRESET) \
@@ -113,7 +113,7 @@ get-noopt-cxxflags-for = $(strip $(CFLAGS_PRESET) \
113113
$(call load-var-for,CPPROCFLAGS,$(1)) \
114114
$(CTHREADFLAGS) \
115115
$(CXXTHREADFLAGS) \
116-
$(CINCFLAGS) $(VERS_DEF) \
116+
$(CINCFLAGS) \
117117
)
118118

119119
get-refinit-cflags-for = $(strip $(call load-var-for,COPTFLAGS,$(1)) \
@@ -1232,10 +1232,6 @@ BLIS_CONFIG_H := ./bli_config.h
12321232
# --- Special preprocessor macro definitions -----------------------------------
12331233
#
12341234

1235-
# Define a C preprocessor macro to communicate the current version so that it
1236-
# can be embedded into the library and queried later.
1237-
VERS_DEF := -DBLIS_VERSION_STRING=\"$(VERSION)\"
1238-
12391235
# Define a C preprocessor flag that is *only* defined when BLIS is being
12401236
# compiled. (In other words, an application that #includes blis.h will not
12411237
# get this cpp macro.)

configure

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4194,6 +4194,7 @@ main()
41944194
| perl -pe "s/\@config_name_define\@/${config_name_define}/g" \
41954195
| perl -pe "s/\@config_list_defines\@/${config_list_defines}/g" \
41964196
| perl -pe "s/\@kernel_list_defines\@/${kernel_list_defines}/g" \
4197+
| sed -e "s/@version@/${version_esc}/g" \
41974198
| sed -e "s/@enable_system@/${enable_system_01}/g" \
41984199
| sed -e "s/@enable_openmp@/${enable_openmp_01}/g" \
41994200
| sed -e "s/@enable_openmp_as_def@/${enable_openmp_as_def_01}/g" \

0 commit comments

Comments
 (0)