feat(compilation): 启用 ARM64 优化与 OpenMP 并行支持

- 在 `.cmake/arm_optimization.cmake` 中增强 ARM64 编译优化选项,包括:
  * 添加 `-mtune=cortex-a76` 和更多特定于 ARM64 的优化标志
  * 启用循环优化、浮点运算优化及链接时优化(LTO)
- 在 `CMakeLists.txt` 中新增 `ENABLE_OPENMP` 选项以启用 OpenMP 支持
- 优化 `randombytes_ctrdrbg.c` 中的 AES 密钥调度和随机数生成逻辑,利用 ARM64 Crypto 扩展提升性能
- 在 `lll_tests.c` 中对关键循环进行展开以降低分支开销
- 在签名密钥生成和提交阶段引入 OpenMP 并行化处理,加快理想采样过程
- 注释掉未使用的机器学习日志函数 `ml_log_ideal_attempt` 实现
- 调整默认 `GF_RADIX` 为 64,并更新相关编译配置
This commit is contained in:
2025-11-26 15:51:27 +08:00
parent 63dcfd3992
commit 0c2d61119b
8 changed files with 340 additions and 106 deletions

View File

@@ -51,6 +51,11 @@ else()
message("Warning: system architecture not detected, defaulting to 64 bit")
endif()
# 修改默认GF_RADIX为64
if (NOT DEFINED GF_RADIX)
set(GF_RADIX 64)
endif()
if (NOT GF_RADIX STREQUAL "AUTO")
if (NOT((GF_RADIX EQUAL 64) OR (GF_RADIX EQUAL 32)))
message(FATAL_ERROR "Currently supported options for GF_RADIX: 32 or 64. Aborting")
@@ -97,4 +102,4 @@ if (NOT DEFINED SQISIGN_TEST_REPS)
set(SQISIGN_TEST_REPS 10)
endif()
add_compile_definitions(SQISIGN_TEST_REPS=${SQISIGN_TEST_REPS})
add_compile_definitions(SQISIGN_TEST_REPS=${SQISIGN_TEST_REPS})