|
|
Am 24.06.21 um 01:28 schrieb clipka:
Hallo Christoph !
1.) Problem:
Build povunix-v3.8.9-beta.668.tar.gz Compiler clang-x:
Optimized Noise-Functions not compiled !
Clang defines __clang__ Not __GNUC__
Solution :
File : unix/povconfig/syspovconfig.h
Z 169ff: #if defined (__clang__)
#define HAVE_ASM_AVX
#define HAVE_ASM_AVX2
#define HAVE_ASM_FMA3
#define HAVE_ASM_FMA4
#endif
Z. 179: // most notably platform-specific optimized implementations.
#if defined (__GNUC__) || defined(__clang__)
2.) Problem Optimized Noise-Function Compiler: gcc-10
Povray-Output :
....
Dynamic optimizations:
CPU detected: AMD,SSE2,AVX,AVX2,FMA3
Noise generator: avx-generic (compiler-optimized)
CPU: AMD Ryzen 2700
cat /proc/cpuinfo | grep avx : se4_1 sse4_2 movbe popcnt aes xsave avx ..
avx2
fma
So it should work with Intels implementation, but there is an vendor
check in :
platform/x86/cpuid.cpp
Solution:
bool CPUInfo::IsIntel()
{
return gpData->cpuidInfo.vendorId == kCPUVendor_Intel|| kCPUVendor_AMD;
}
I activated CHECK_FUNCTIONAL in the optimized functions. No exception
arises. So I think it's ok.
Greetings
Thomas Debe
Post a reply to this message
|
|