syfei0518 2022-08-03 23:11 采纳率: 61.1%
浏览 93
已结题

MATLAB编译MatConvNet报错

问题遇到的现象和发生背景

MATLAB编译MatConvNet报错:error: cannot convert '__v16qi' to '__vector(8) short int'

问题相关代码,请勿粘贴截图

使用vl_compilenn命令进行编译
MinGW 编译器下载:https://jmeubank.github.io/tdm-gcc/articles/2020-03/9.2.0-release

运行结果及报错内容
错误使用 mex
In file included from C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/immintrin.h:35,
                 from C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/x86intrin.h:32,
                 from D:\OneDrive\文档\MATLAB\FBPConvNet-master\matconvnet-1.0-beta23\matlab\src\bits\impl\normalize_cpu.cpp:23:
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_maddubs_epi16(__m128i, __m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:114:73: note: use '-flax-vector-conversions' to permit
conversions between vectors with differing element types or numbers of subparts
  114 |   return (__m128i) __builtin_ia32_paddusw128 ((__v16qi)__X, (__v16qi)__Y);
      |                                                                         ^
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:114:47: error: cannot convert '__v16qi' to '__vector(8)
short int'
  114 |   return (__m128i) __builtin_ia32_paddusw128 ((__v16qi)__X, (__v16qi)__Y);
      |                                               ^~~~~~~~~~~~
      |                                               |
      |                                               __v16qi
<built-in>: note:   initializing argument 1 of '__vector(8) short int __builtin_ia32_paddusw128(__vector(8) short int,
__vector(8) short int)'
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_sign_epi8(__m128i, __m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:150:43: error: cannot convert '__v16qi' to '__vector(8)
char'
  150 |   return (__m128i) __builtin_ia32_psignb ((__v16qi)__X, (__v16qi)__Y);
      |                                           ^~~~~~~~~~~~
      |                                           |
      |                                           __v16qi
<built-in>: note:   initializing argument 1 of '__vector(8) char __builtin_ia32_psignb(__vector(8) char, __vector(8) char)'
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_sign_epi16(__m128i, __m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:156:43: error: cannot convert '__v8hi' to '__vector(4) short
int'
  156 |   return (__m128i) __builtin_ia32_psignw ((__v8hi)__X, (__v8hi)__Y);
      |                                           ^~~~~~~~~~~
      |                                           |
      |                                           __v8hi
<built-in>: note:   initializing argument 1 of '__vector(4) short int __builtin_ia32_psignw(__vector(4) short int, __vector(4)
short int)'
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_sign_epi32(__m128i, __m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:162:43: error: cannot convert '__v4si' to '__vector(2) int'
  162 |   return (__m128i) __builtin_ia32_psignd ((__v4si)__X, (__v4si)__Y);
      |                                           ^~~~~~~~~~~
      |                                           |
      |                                           __v4si
<built-in>: note:   initializing argument 1 of '__vector(2) int __builtin_ia32_psignd(__vector(2) int, __vector(2) int)'
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_alignr_epi8(__m128i, __m128i,
int)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:187:44: error: cannot convert '__m128i' to '__vector(1) long
long int'
  187 |   return (__m128i) __builtin_ia32_palignr ((__v2di)__X,
      |                                            ^~~~~~~~~~~
      |                                            |
      |                                            __m128i
<built-in>: note:   initializing argument 1 of '__vector(1) long long int __builtin_ia32_palignr(__vector(1) long long int,
__vector(1) long long int, int)'
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_abs_epi8(__m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:211:57: error: too few arguments to function '__vector(16)
char __builtin_ia32_pavgb128(__vector(16) char, __vector(16) char)'
  211 |   return (__m128i) __builtin_ia32_pavgb128 ((__v16qi)__X);
      |                                                         ^
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_abs_epi16(__m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:217:57: error: too few arguments to function '__vector(8)
short int __builtin_ia32_pmaxsw128(__vector(8) short int, __vector(8) short int)'
  217 |   return (__m128i) __builtin_ia32_pmaxsw128 ((__v8hi)__X);
      |                                                         ^
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h: In function '__m128i _mm_abs_epi32(__m128i)':
C:/TDM-GCC-64/lib/gcc/x86_64-w64-mingw32/10.3.0/include/tmmintrin.h:223:44: error: cannot convert '__v4si' to '__vector(2) long
long int'
  223 |   return (__m128i) __builtin_ia32_pand128 ((__v4si)__X);
      |                                            ^~~~~~~~~~~
      |                                            |
      |                                            __v4si
<built-in>: note:   initializing argument 1 of '__vector(2) long long int __builtin_ia32_pand128(__vector(2) long long int,
__vector(2) long long int)'


出错 vl_compilenn>mex_compile (line 530)
mex(mopts{:}) ;

出错 vl_compilenn (line 491)
    mex_compile(opts, srcs{i}, objfile, flags.mexcc) ;

我的解答思路和尝试过的方法

尝试理解__v16qi和__vector(8) short int分别代表什么数组,但还是不懂,也不知道怎么改

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • Ali.s 2022-08-05 00:42
    关注

    长度问题,精度不对,整型和小数的有效位数不同

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月6日
  • 创建了问题 8月3日

悬赏问题

  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络