A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Oneflow-Inc/oneflow/issues/9922 below:

weird macro expression value stft_kernel.cu · Issue #9922 · Oneflow-Inc/oneflow · GitHub

Summary

我发现 stft_kernel.cu 文件中的代码默认情况下不会被编译,因此怀疑是条件宏出了问题。
于是做了以下修改:doombeaker@1a96e88

#define YCPRINTLOG printf("CUDA_VERSION >= 11000 is true, version: %d, runtime: %d\r\n", CUDA_VERSION, (CUDA_VERSION >= 11000));
#else
#define YCPRINTLOG printf("CUDA_VERSION >= 11000 is false, version: %d, runtime: %d\r\n", CUDA_VERSION, (CUDA_VERSION >= 11000));
#endif

然后再运行(见以下的最小复现代码),发现得到的结果是:

/runonewhisper$ python3 bug_report.py 
CUDA_VERSION >= 11000 is false, version: 11020, runtime: 1

也就是说条件宏确实走的 false 分支,但是运行时的表达式又是 true。

感觉非常诡异。

Code to reproduce bug
import oneflow as torch

audio = torch.randn(478214).to("cuda")
N_FFT = 400
HOP_LENGTH = 160
window = torch.randn(400).to("cuda")
stft = torch.stft(audio, N_FFT, HOP_LENGTH, window=window, return_complex=False)
System Information
(oneflow-dev-clang10-v2) yaochi@oneflow-22:~/runonewhisper$ python3 -m oneflow --doctor
path: ['/home/yaochi/oneflow/python/oneflow']
version: 0.9.1+cu112.git.9ff1e1e7f2
git_commit: 9ff1e1e7f2
cmake_build_type: RelWithDebInfo
rdma: False
mlir: True

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4