➜ clones git clone [email protected]:Maratyszcza/FP16.git
Cloning into 'FP16'...
remote: Enumerating objects: 293, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 293 (delta 2), reused 3 (delta 0), pack-reused 286
Receiving objects: 100% (293/293), 108.77 KiB | 928.00 KiB/s, done.
Resolving deltas: 100% (161/161), done.
➜ clones cd FP16
➜ FP16 git:(master) cmake .
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.24.1/share/cmake/Modules/GNUInstallDirs.cmake:243 (message):
Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
target architecture is known. Please enable at least one language before
including GNUInstallDirs.
Call Stack (most recent call first):
CMakeLists.txt:3 (INCLUDE)
This warning is for project developers. Use -Wno-dev to suppress it.
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Downloading PSimd to /Users/singingwolfboy/clones/FP16/psimd-source (define PSIMD_SOURCE_DIR to avoid it)
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/singingwolfboy/clones/FP16/psimd-download
[ 11%] Creating directories for 'psimd'
[ 22%] Performing download step (git clone) for 'psimd'
Cloning into 'psimd-source'...
Already on 'master'
Your branch is up to date with 'origin/master'.
[ 33%] Performing update step for 'psimd'
[ 44%] No patch step for 'psimd'
[ 55%] No configure step for 'psimd'
[ 66%] No build step for 'psimd'
[ 77%] No install step for 'psimd'
[ 88%] No test step for 'psimd'
[100%] Completed 'psimd'
[100%] Built target psimd
-- Downloading Google Test to /Users/singingwolfboy/clones/FP16/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.24.1/share/cmake/Modules/ExternalProject.cmake:3071 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy's OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.24.1/share/cmake/Modules/ExternalProject.cmake:4167 (_ep_add_download_command)
CMakeLists.txt:6 (ExternalProject_Add)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/singingwolfboy/clones/FP16/googletest-download
[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (download, verify and extract) for 'googletest'
-- Downloading...
dst='/Users/singingwolfboy/clones/FP16/googletest-download/googletest-prefix/src/release-1.8.0.zip'
timeout='none'
inactivity timeout='none'
-- Using src='https://github.com/google/googletest/archive/release-1.8.0.zip'
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
-- [download 3% complete]
-- [download 4% complete]
-- [download 5% complete]
-- [download 6% complete]
-- [download 7% complete]
-- [download 8% complete]
-- [download 9% complete]
-- [download 10% complete]
-- [download 11% complete]
-- [download 12% complete]
-- [download 14% complete]
-- [download 16% complete]
-- [download 17% complete]
-- [download 18% complete]
-- [download 19% complete]
-- [download 20% complete]
-- [download 21% complete]
-- [download 22% complete]
-- [download 23% complete]
-- [download 24% complete]
-- [download 25% complete]
-- [download 26% complete]
-- [download 27% complete]
-- [download 30% complete]
-- [download 32% complete]
-- [download 33% complete]
-- [download 34% complete]
-- [download 35% complete]
-- [download 37% complete]
-- [download 39% complete]
-- [download 40% complete]
-- [download 41% complete]
-- [download 42% complete]
-- [download 43% complete]
-- [download 44% complete]
-- [download 45% complete]
-- [download 46% complete]
-- [download 47% complete]
-- [download 48% complete]
-- [download 49% complete]
-- [download 50% complete]
-- [download 51% complete]
-- [download 52% complete]
-- [download 53% complete]
-- [download 54% complete]
-- [download 55% complete]
-- [download 56% complete]
-- [download 57% complete]
-- [download 58% complete]
-- [download 59% complete]
-- [download 61% complete]
-- [download 62% complete]
-- [download 63% complete]
-- [download 64% complete]
-- [download 65% complete]
-- [download 66% complete]
-- [download 67% complete]
-- [download 68% complete]
-- [download 69% complete]
-- [download 70% complete]
-- [download 71% complete]
-- [download 72% complete]
-- [download 73% complete]
-- [download 74% complete]
-- [download 75% complete]
-- [download 76% complete]
-- [download 77% complete]
-- [download 78% complete]
-- [download 79% complete]
-- [download 80% complete]
-- [download 81% complete]
-- [download 82% complete]
-- [download 83% complete]
-- [download 84% complete]
-- [download 85% complete]
-- [download 86% complete]
-- [download 87% complete]
-- [download 89% complete]
-- [download 90% complete]
-- [download 91% complete]
-- [download 93% complete]
-- [download 94% complete]
-- [download 95% complete]
-- [download 96% complete]
-- [download 97% complete]
-- [download 98% complete]
-- [download 99% complete]
-- [download 100% complete]
-- verifying file...
file='/Users/singingwolfboy/clones/FP16/googletest-download/googletest-prefix/src/release-1.8.0.zip'
-- Downloading... done
-- extracting...
src='/Users/singingwolfboy/clones/FP16/googletest-download/googletest-prefix/src/release-1.8.0.zip'
dst='/Users/singingwolfboy/clones/FP16/googletest-source'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No update step for 'googletest'
[ 44%] No patch step for 'googletest'
[ 55%] No configure step for 'googletest'
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'
[100%] Completed 'googletest'
[100%] Built target googletest
-- Downloading Google Benchmark to /Users/singingwolfboy/clones/FP16/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)
CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.24.1/share/cmake/Modules/ExternalProject.cmake:3071 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy's OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.24.1/share/cmake/Modules/ExternalProject.cmake:4167 (_ep_add_download_command)
CMakeLists.txt:6 (ExternalProject_Add)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/singingwolfboy/clones/FP16/googlebenchmark-download
[ 11%] Creating directories for 'googlebenchmark'
[ 22%] Performing download step (download, verify and extract) for 'googlebenchmark'
-- Downloading...
dst='/Users/singingwolfboy/clones/FP16/googlebenchmark-download/googlebenchmark-prefix/src/v1.2.0.zip'
timeout='none'
inactivity timeout='none'
-- Using src='https://github.com/google/benchmark/archive/v1.2.0.zip'
-- verifying file...
file='/Users/singingwolfboy/clones/FP16/googlebenchmark-download/googlebenchmark-prefix/src/v1.2.0.zip'
-- Downloading... done
-- extracting...
src='/Users/singingwolfboy/clones/FP16/googlebenchmark-download/googlebenchmark-prefix/src/v1.2.0.zip'
dst='/Users/singingwolfboy/clones/FP16/googlebenchmark-source'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No update step for 'googlebenchmark'
[ 44%] No patch step for 'googlebenchmark'
[ 55%] No configure step for 'googlebenchmark'
[ 66%] No build step for 'googlebenchmark'
[ 77%] No install step for 'googlebenchmark'
[ 88%] No test step for 'googlebenchmark'
[100%] Completed 'googlebenchmark'
[100%] Built target googlebenchmark
CMake Deprecation Warning at googletest-source/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Deprecation Warning at googletest-source/googlemock/CMakeLists.txt:41 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Deprecation Warning at googletest-source/googletest/CMakeLists.txt:48 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.
-- Found PythonInterp: /Users/singingwolfboy/.pyenv/shims/python (found version "3.10.3")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Git: /usr/bin/git (found version "2.32.1 (Apple Git-133)")
-- git Version: v0.0.0
-- Version: 0.0.0
-- Performing Test HAVE_CXX_FLAG_STD_CXX11
-- Performing Test HAVE_CXX_FLAG_STD_CXX11 - Success
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Success
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Success
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Success
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Success
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Success
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Success
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL
-- Performing Test HAVE_CXX_FLAG_WFLOAT_EQUAL - Success
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WZERO_AS_NULL_POINTER_CONSTANT
-- Performing Test HAVE_CXX_FLAG_WZERO_AS_NULL_POINTER_CONSTANT - Success
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_WSTRICT_ALIASING - Success
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Success
-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES
-- Performing Test HAVE_THREAD_SAFETY_ATTRIBUTES -- failed to compile
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Success
-- Performing Test HAVE_STD_REGEX
-- Performing Test HAVE_STD_REGEX -- success
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_POSIX_REGEX
-- Performing Test HAVE_POSIX_REGEX -- success
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/singingwolfboy/clones/FP16
➜ FP16 git:(master) ✗ make install
[ 1%] Building CXX object googletest/googlemock/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 3%] Linking CXX static library libgtest.a
[ 3%] Built target gtest
[ 5%] Building CXX object googletest/googlemock/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
[ 6%] Linking CXX static library libgtest_main.a
[ 6%] Built target gtest_main
[ 8%] Building CXX object CMakeFiles/ieee-to-fp32-bits-test.dir/test/ieee-to-fp32-bits.cc.o
[ 10%] Building CXX object CMakeFiles/ieee-to-fp32-bits-test.dir/test/tables.cc.o
[ 12%] Linking CXX executable ieee-to-fp32-bits-test
[ 12%] Built target ieee-to-fp32-bits-test
[ 13%] Building CXX object CMakeFiles/ieee-to-fp32-value-test.dir/test/ieee-to-fp32-value.cc.o
[ 15%] Building CXX object CMakeFiles/ieee-to-fp32-value-test.dir/test/tables.cc.o
[ 17%] Linking CXX executable ieee-to-fp32-value-test
[ 17%] Built target ieee-to-fp32-value-test
[ 18%] Building CXX object CMakeFiles/ieee-from-fp32-value-test.dir/test/ieee-from-fp32-value.cc.o
[ 20%] Building CXX object CMakeFiles/ieee-from-fp32-value-test.dir/test/tables.cc.o
[ 22%] Linking CXX executable ieee-from-fp32-value-test
[ 22%] Built target ieee-from-fp32-value-test
[ 24%] Building CXX object CMakeFiles/alt-to-fp32-bits-test.dir/test/alt-to-fp32-bits.cc.o
[ 25%] Building CXX object CMakeFiles/alt-to-fp32-bits-test.dir/test/tables.cc.o
[ 27%] Linking CXX executable alt-to-fp32-bits-test
[ 27%] Built target alt-to-fp32-bits-test
[ 29%] Building CXX object CMakeFiles/alt-to-fp32-value-test.dir/test/alt-to-fp32-value.cc.o
[ 31%] Building CXX object CMakeFiles/alt-to-fp32-value-test.dir/test/tables.cc.o
[ 32%] Linking CXX executable alt-to-fp32-value-test
[ 32%] Built target alt-to-fp32-value-test
[ 34%] Building CXX object CMakeFiles/alt-from-fp32-value-test.dir/test/alt-from-fp32-value.cc.o
[ 36%] Building CXX object CMakeFiles/alt-from-fp32-value-test.dir/test/tables.cc.o
[ 37%] Linking CXX executable alt-from-fp32-value-test
[ 37%] Built target alt-from-fp32-value-test
[ 39%] Building CXX object CMakeFiles/bitcasts-test.dir/test/bitcasts.cc.o
[ 41%] Linking CXX executable bitcasts-test
[ 41%] Built target bitcasts-test
[ 43%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/benchmark.cc.o
[ 44%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
[ 46%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/colorprint.cc.o
[ 48%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/commandlineflags.cc.o
[ 50%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/complexity.cc.o
/Users/singingwolfboy/clones/FP16/googlebenchmark-source/src/complexity.cc:80:10: warning: variable 'sigma_gn' set but not used [-Wunused-but-set-variable]
double sigma_gn = 0.0;
^
1 warning generated.
[ 51%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/console_reporter.cc.o
[ 53%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/counter.cc.o
[ 55%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o
[ 56%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/json_reporter.cc.o
[ 58%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/reporter.cc.o
[ 60%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/sleep.cc.o
[ 62%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/string_util.cc.o
[ 63%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/sysinfo.cc.o
[ 65%] Building CXX object googlebenchmark/src/CMakeFiles/benchmark.dir/timers.cc.o
[ 67%] Linking CXX static library libbenchmark.a
[ 67%] Built target benchmark
[ 68%] Building CXX object CMakeFiles/ieee-element-bench.dir/bench/ieee-element.cc.o
/Users/singingwolfboy/clones/FP16/bench/ieee-element.cc:74:29: warning: passing 4-byte aligned argument to 16-byte aligned parameter 1 of 'DoNotOptimize<attribute((vector_size(4 * sizeof(float)))) float>' may result in an unaligned pointer access [-Walign-mismatch]
benchmark::DoNotOptimize(fp32);
^
1 warning generated.
[ 70%] Linking CXX executable ieee-element-bench
[ 70%] Built target ieee-element-bench
[ 72%] Building CXX object CMakeFiles/alt-element-bench.dir/bench/alt-element.cc.o
/Users/singingwolfboy/clones/FP16/bench/alt-element.cc:60:29: warning: passing 4-byte aligned argument to 16-byte aligned parameter 1 of 'DoNotOptimize<attribute((vector_size(4 * sizeof(float)))) float>' may result in an unaligned pointer access [-Walign-mismatch]
benchmark::DoNotOptimize(fp32);
^
1 warning generated.
[ 74%] Linking CXX executable alt-element-bench
[ 74%] Built target alt-element-bench
[ 75%] Building CXX object CMakeFiles/from-ieee-array-bench.dir/bench/from-ieee-array.cc.o
/Users/singingwolfboy/clones/FP16/bench/from-ieee-array.cc:215:31: error: use of undeclared identifier '__builtin_aarch64_get_fpcr'
const unsigned int fpcr = __builtin_aarch64_get_fpcr();
^
/Users/singingwolfboy/clones/FP16/bench/from-ieee-array.cc:217:5: error: use of undeclared identifier '__builtin_aarch64_set_fpcr'
__builtin_aarch64_set_fpcr(fpcr & 0xF6FFFFFFu);
^
/Users/singingwolfboy/clones/FP16/bench/from-ieee-array.cc:231:5: error: use of undeclared identifier '__builtin_aarch64_set_fpcr'
__builtin_aarch64_set_fpcr(fpcr);
^
3 errors generated.
make[2]: *** [CMakeFiles/from-ieee-array-bench.dir/bench/from-ieee-array.cc.o] Error 1
make[1]: *** [CMakeFiles/from-ieee-array-bench.dir/all] Error 2
make: *** [all] Error 2