-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Segfault on copy while setting ZGEMM_DEFAULT_Q and ZGEMM_DEFAULT_P to 2048 #2150
Comments
for now, I will postpone fixing it. just opened issue |
Would be nice to see syscall made from |
Probably need valgrind to look at this. (P and Q tend to be small by default, perhaps larger values lead to an overflow somewhere) |
That syscall comes out of nowhere in a source file that has no syscalls....
|
Does not repeat for me. |
for generic it segfaulted while building, for power9 it did while running, try running with step 1 |
|
My bad, I forgot to state |
The zblat3 crash is reproducible on (multithreaded) Kaby Lake with (at least) gcc 4.8.5, valgrind reports an "invalid write of size 8" at that location but no earlier errors. |
gcc7 and sandybridge - no problem. |
Ok so far everything is ok. just buffer-size smaller. that's all. |
Well, it is probably safe to assume that one cannot make these parameters arbitrarily large and still expect things to work - BUFFER_SIZE itself is a somewhat dubious "magic" number that is defined in the common_XX.h for each architecture. (If we had a real "Developer manual" in the wiki, the interdependencies of these values would be stated there I guess... as far as I remember none of K.Goto's publications touched on these details of the implementation) |
How to reproduce:
I set ZGEMM_DEFAULT_Q and ZGEMM_DEFAULT_P to 2048
It should segfault if it is built for generic. if it passes while building for other targets then try to run it against huge K from 1900-2200 on benchmark/zgemm.goto
Here is seg on generic build
#0 0x7F8A0CAEBE08
#1 0x7F8A0CAEAF90
#2 0x7F8A0C2054AF
#3 0x49E971 in zgemm_oncopy at zgemm_ncopy_2.c:173 (discriminator 1)
#4 0x41EEC3 in zgemm_nn at level3.c:346 (discriminator 2)
#5 0x41C419 in zgemm_ at gemm.c:430
#6 0x40C831 in zchk1_ at zblat3.f:544
#7 0x41B6C4 in MAIN__ at zblat3.f:290
The text was updated successfully, but these errors were encountered: