-
Notifications
You must be signed in to change notification settings - Fork 16
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
error while running make command #81
Comments
Thank you for your report. The primary reason for the problem is that a ‘;’ is missed at the end of the structure definition. The fixed version (Ver.3.0.6c) has just been uploaded. Unfortunately, however, I cannot directly verify whether spaln is compiled and properly run on a machine with AVX512 architecture in my current environment. I am very grateful if you report me your experience on your machine. Thanks in advance for your kind cooperation. Osamu, |
Hello, thank you for your efforts to fix it. I have tried the new version and this time when trying to run configure I am having problems as I get this information: [clslj-5@sylogin2 src]$ ./configure I tried using the configure file from the Ver.3.0.6b in the Ver.3.0.6c version. I got the following error g++ -O3 -march=native -DM_THREAD=1 -c fwd2b1.cc simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::cast32to8(Simd_functions::int_v)’: ^~~~~~~~~~~~~~~~~ int_v b_v = _mm512_loadu_epi8(b64i2c_a); |
Thank you for your prompt response.
Osamu, |
Hi! Fortunately, I have found a site with an AVX512 (AVX512F + AVX512BW) architecture where spaln can be compiled and test-run. The simd_function.h of the previous version had a typographical error. After correction of that error, I confirmed normal compilation and run of spaln on that machine. I have just uploaded the corrected version (Ver.3.0.6d). Please try this version at your convenient opportunity. Osamu, |
Hi, thank you very much for the changes in the version. Unfortunately, after I tried, the error persists. It seems to be very similar as before. Previously the error report said Simd_functions::int_v Simd_functions::load(const char*). The new one says:. Simd_functions::int_v Simd_functions Here is the full error report. Checking for 64 bits compiler... In file included from fwd2s1_simd.h:39, |
The CPU of the machine I tried was ‘Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz’. What is the CPU of your machine? Please run Osamu, |
Dear Dr. Osamu, |
Thank you for your confirmation. I expected that if avx512bw is not present (AVX512BW is absent or defined as zero in the header file), the compiler automatically chooses the AVX2 instructions even if the -march=native option is used. So, there remains something unresolved. However, anyway, your reports were very helpful for me to improve the usability of Spaln under wider conditions. If I can find a better solution, I will let you know immediately. Osamu, |
Hello, first, thank you for developing this tool.
I am having a problem while installing it. When running make I receive the following error. I hope it is not much trouble to help me identify how to solve it. Thanks.
[clslj-5@sylogin2 src]$ ./configure
Checking for 64 bits compiler...
use CXX=g++ CFLAGS=-O3 -march=native
binaries install to /dssg/home/acct-clslj/clslj-5/bin
tables install to /dssg/home/acct-clslj/clslj-5/table
alndbs install to /dssg/home/acct-clslj/clslj-5/seqdb
wrote Makefile
wrote files
OK. try make and make install. good luck!
[clslj-5@sylogin2 src]$ make
g++ -O3 -march=native -DM_THREAD=1 -c dbs.cc
g++ -O3 -march=native -DM_THREAD=1 -c fwd2b1.cc
In file included from fwd2s1_simd.h:39,
from fwd2b1.cc:34:
simd_functions.h:227:2: error: expected ‘;’ after struct definition
}
^
;
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const char*)’:
simd_functions.h:184:13: error: ‘_mm512_loadu_epi8’ was not declared in this scope
return _mm512_loadu_epi8(a);
^~~~~~~~~~~~~~~~~
simd_functions.h:184:13: note: suggested alternative: ‘_mm512_add_epi8’
return _mm512_loadu_epi8(a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: In member function ‘void Simd_functions::store(char*, Simd_functions::int_v)’:
simd_functions.h:186:32: error: ‘_mm512_storeu_epi8’ was not declared in this scope
void store(char* a, int_v v) {_mm512_storeu_epi8(a, v);}
^~~~~~~~~~~~~~~~~~
simd_functions.h:186:32: note: suggested alternative: ‘_mm512_storeu_ps’
void store(char* a, int_v v) {_mm512_storeu_epi8(a, v);}
simd_functions.h:186:32: note: suggested alternative: ‘_mm512_storeu_ps’
void store(char* a, int_v v) {_mm512_storeu_epi8(a, v);}
^~~~~~~~~~~~~~~~~~
_mm512_storeu_ps
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const CHAR*)’:
simd_functions.h:239:13: error: ‘_mm512_loadu_epi8’ was not declared in this scope
return _mm512_loadu_epi8(a);
^~~~~~~~~~~~~~~~~
simd_functions.h:239:13: note: suggested alternative: ‘_mm512_add_epi8’
return _mm512_loadu_epi8(a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: In member function ‘void Simd_functions::store(CHAR*, Simd_functions::int_v)’:
simd_functions.h:241:32: error: ‘_mm512_storeu_epi8’ was not declared in this scope
void store(CHAR* a, int_v v) {_mm512_storeu_epi8(a, v);}
^~~~~~~~~~~~~~~~~~
simd_functions.h:241:32: note: suggested alternative: ‘_mm512_storeu_ps’
void store(CHAR* a, int_v v) {_mm512_storeu_epi8(a, v);}
^~~~~~~~~~~~~~~~~~
_mm512_storeu_ps
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const short int*)’:
simd_functions.h:294:13: error: ‘_mm512_loadu_epi16’ was not declared in this scope
return _mm512_loadu_epi16(a);
^~~~~~~~~~~~~~~~~~
simd_functions.h:294:13: note: suggested alternative: ‘_mm512_madd_epi16’
return _mm512_loadu_epi16(a);
^~~~~~~~~~~~~~~~~~
_mm512_madd_epi16
simd_functions.h: In member function ‘void Simd_functions::store(short int*, Simd_functions::int_v)’:
simd_functions.h:296:33: error: ‘_mm512_storeu_epi16’ was not declared in this scope
void store(short* a, int_v v) {_mm512_storeu_epi16(a, v);}
^~~~~~~~~~~~~~~~~~~
simd_functions.h:296:33: note: suggested alternative: ‘_mm512_store_epi32’
void store(short* a, int_v v) {_mm512_storeu_epi16(a, v);}
^~~~~~~~~~~~~~~~~~~
_mm512_store_epi32
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::cast16to8(Simd_functions::int_v)’:
simd_functions.h:336:18: error: ‘_mm512_loadu_epi8’ was not declared in this scope
int_v b_v = _mm512_loadu_epi8(b64s2c_a);
^~~~~~~~~~~~~~~~~
simd_functions.h:336:18: note: suggested alternative: ‘_mm512_add_epi8’
int_v b_v = _mm512_loadu_epi8(b64s2c_a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const SHORT*)’:
simd_functions.h:362:13: error: ‘_mm512_loadu_epi16’ was not declared in this scope
return _mm512_loadu_epi16(a);
^~~~~~~~~~~~~~~~~~
simd_functions.h:362:13: note: suggested alternative: ‘_mm512_madd_epi16’
return _mm512_loadu_epi16(a);
^~~~~~~~~~~~~~~~~~
_mm512_madd_epi16
simd_functions.h: In member function ‘void Simd_functions::store(SHORT*, Simd_functions::int_v)’:
simd_functions.h:364:33: error: ‘_mm512_storeu_epi16’ was not declared in this scope
void store(SHORT* a, int_v v) {_mm512_storeu_epi16(a, v);}
^~~~~~~~~~~~~~~~~~~
simd_functions.h:364:33: note: suggested alternative: ‘_mm512_store_epi32’
void store(SHORT* a, int_v v) {_mm512_storeu_epi16(a, v);}
^~~~~~~~~~~~~~~~~~~
_mm512_store_epi32
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::cast16to8(Simd_functions::int_v)’:
simd_functions.h:404:18: error: ‘_mm512_loadu_epi8’ was not declared in this scope
int_v b_v = _mm512_loadu_epi8(b64s2c_a);
^~~~~~~~~~~~~~~~~
simd_functions.h:404:18: note: suggested alternative: ‘_mm512_add_epi8’
int_v b_v = _mm512_loadu_epi8(b64s2c_a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const int*)’:
simd_functions.h:429:35: error: ‘_mm512_loadu_epi32’ was not declared in this scope
int_v load(const int* a) {return _mm512_loadu_epi32(a);}
^~~~~~~~~~~~~~~~~~
simd_functions.h:429:35: note: suggested alternative: ‘_mm512_load_epi32’
int_v load(const int* a) {return _mm512_loadu_epi32(a);}
^~~~~~~~~~~~~~~~~~
_mm512_load_epi32
simd_functions.h: In member function ‘void Simd_functions::store(int*, Simd_functions::int_v)’:
simd_functions.h:430:31: error: ‘_mm512_storeu_epi32’ was not declared in this scope
void store(int* a, int_v v) {_mm512_storeu_epi32(a, v);}
^~~~~~~~~~~~~~~~~~~
simd_functions.h:430:31: note: suggested alternative: ‘_mm512_store_epi32’
void store(int* a, int_v v) {_mm512_storeu_epi32(a, v);}
^~~~~~~~~~~~~~~~~~~
_mm512_store_epi32
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::cast32to16(Simd_functions::int_v)’:
simd_functions.h:470:18: error: ‘_mm512_loadu_epi8’ was not declared in this scope
int_v b_v = _mm512_loadu_epi8(b64i2s_a);
^~~~~~~~~~~~~~~~~
simd_functions.h:470:18: note: suggested alternative: ‘_mm512_add_epi8’
int_v b_v = _mm512_loadu_epi8(b64i2s_a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::load(const INT*)’:
simd_functions.h:495:35: error: ‘_mm512_loadu_epi32’ was not declared in this scope
int_v load(const INT* a) {return _mm512_loadu_epi32(a);}
^~~~~~~~~~~~~~~~~~
simd_functions.h:495:35: note: suggested alternative: ‘_mm512_load_epi32’
int_v load(const INT* a) {return _mm512_loadu_epi32(a);}
^~~~~~~~~~~~~~~~~~
_mm512_load_epi32
simd_functions.h: In member function ‘void Simd_functions::store(INT*, Simd_functions::int_v)’:
simd_functions.h:496:31: error: ‘_mm512_storeu_epi32’ was not declared in this scope
void store(INT* a, int_v v) {_mm512_storeu_epi32(a, v);}
^~~~~~~~~~~~~~~~~~~
simd_functions.h:496:31: note: suggested alternative: ‘_mm512_store_epi32’
void store(INT* a, int_v v) {_mm512_storeu_epi32(a, v);}
^~~~~~~~~~~~~~~~~~~
_mm512_store_epi32
simd_functions.h: In member function ‘Simd_functions::int_v Simd_functions::cast32to16(Simd_functions::int_v)’:
simd_functions.h:530:18: error: ‘_mm512_loadu_epi8’ was not declared in this scope
int_v b_v = _mm512_loadu_epi8(b64i2s_a);
^~~~~~~~~~~~~~~~~
simd_functions.h:530:18: note: suggested alternative: ‘_mm512_add_epi8’
int_v b_v = _mm512_loadu_epi8(b64i2s_a);
^~~~~~~~~~~~~~~~~
_mm512_add_epi8
simd_functions.h: At global scope:
simd_functions.h:557:12: error: ‘flt_v’ has not been declared
var_v add(flt_v u, var_v v) {
^~~~~
simd_functions.h: In member function ‘Simd_functions::var_v Simd_functions::add(int, Simd_functions::var_v)’:
simd_functions.h:558:27: error: cannot convert ‘int’ to ‘__m512’ {aka ‘__vector(16) float’}
return _mm512_add_ps(u, v);
^
In file included from /usr/lib/gcc/x86_64-redhat-linux/8/include/immintrin.h:45,
from /usr/lib/gcc/x86_64-redhat-linux/8/include/x86intrin.h:48,
from simd_functions.h:30,
from fwd2s1_simd.h:39,
from fwd2b1.cc:34:
/usr/lib/gcc/x86_64-redhat-linux/8/include/avx512fintrin.h:11544:23: note: initializing argument 1 of ‘__m512 _mm512_add_ps(__m512, __m512)’
_mm512_add_ps (__m512 __A, __m512 __B)
~~~~~~~^~~
In file included from fwd2s1_simd.h:39,
from fwd2b1.cc:34:
simd_functions.h: In member function ‘void Simd_functions::vecadd_c(Simd_functions::var_t*, const var_t&, size_t)’:
simd_functions.h:103:33: error: no matching function for call to ‘Simd_functions::add(Simd_functions::var_v, Simd_functions::var_v&)’
var_v v_v = add(load(d), c_v);
^
simd_functions.h:592:7: note: in expansion of macro ‘VecAdd_c’
{VecAdd_c(dst, c, n)}
^~~~~~~~
simd_functions.h:557:8: note: candidate: ‘Simd_functions::var_v Simd_functions::add(int, Simd_functions::var_v)’
var_v add(flt_v u, var_v v) {
^~~
simd_functions.h:557:8: note: no known conversion for argument 1 from ‘Simd_functions::var_v’ {aka ‘__vector(16) float’} to ‘int’
make: *** [Makefile:42: fwd2b1.o] Error 1
The text was updated successfully, but these errors were encountered: