composable_kernel icon indicating copy to clipboard operation
composable_kernel copied to clipboard

cmake issue after #1286: ModuleNotFoundError: No module named 'dataclasses'

Open junliume opened this issue 1 year ago • 4 comments

https://github.com/ROCm/composable_kernel/blob/acda4c5a3c34c13b71475fdd963e61182bba8a76/example/ck_tile/01_fmha/CMakeLists.txt#L12-L15

CMAKE issue after #1286

The cmake command:

CXX=/opt/rocm/bin/amdclang++ CC=/opt/rocm/bin/amdclang cmake -DCMAKE_PREFIX_PATH="/opt/rocm" -DCMAKE_BUILD_TYPE=Release -DGPU_TARGETS="gfx942" ..

adding example example_gemm_multiply_multiply_xdl_fp16
Traceback (most recent call last):
  File "/data/driver/composable_kernel/example/ck_tile/01_fmha/generate.py", line 9, in <module>
    from dataclasses import dataclass
ModuleNotFoundError: No module named 'dataclasses'
Traceback (most recent call last):
  File "/data/driver/composable_kernel/example/ck_tile/01_fmha/generate.py", line 9, in <module>
    from dataclasses import dataclass
ModuleNotFoundError: No module named 'dataclasses'
CMake Error at example/ck_tile/01_fmha/CMakeLists.txt:14 (file):
  file STRINGS file
  "/data/driver/composable_kernel/build/example/ck_tile/01_fmha/fwd_blob_list.txt"
  cannot be read.


CMake Error at example/ck_tile/01_fmha/CMakeLists.txt:15 (file):
  file STRINGS file
  "/data/driver/composable_kernel/build/example/ck_tile/01_fmha/bwd_blob_list.txt"
  cannot be read.


CMake Error at example/ck_tile/01_fmha/CMakeLists.txt:17 (add_custom_command):
  add_custom_command Wrong syntax.  A TARGET or OUTPUT must be specified.


CMake Error at example/ck_tile/01_fmha/CMakeLists.txt:23 (add_custom_command):
  add_custom_command Wrong syntax.  A TARGET or OUTPUT must be specified.

junliume avatar Jun 12 '24 20:06 junliume

Add more information: The issue is found on RHEL 8 where Python version is outdated (Python 2.7.18)

junliume avatar Jun 12 '24 20:06 junliume

Yep, confirmed if we install Python 3.8 or above from RHEL we do not see the error.

Reminder: we may see RHEL8 or other legacy distribution users to report this problem, so keep this issue as FYI

junliume avatar Jun 12 '24 20:06 junliume

Yes since we introducing python base codegen, we require python 3.8, but I may need @illsilin input do you think this is good to do it? Or we just type somewhere in the README our dependency?

carlushuang avatar Jun 13 '24 02:06 carlushuang

The main challenge is that many of the dockers that are used to test CK are using old packages for everything. That's why we had to downgrade from Python 3.8 to 3.6. But I think it's time for us to put some pressure on those teams who keep using those old packages, because those versions are no longer even supported! Even 3.8 is reaching the end of its life cycle soon! Screenshot 2024-06-14 083734

illsilin avatar Jun 14 '24 15:06 illsilin

The workaround for older OSs had been implemented.

illsilin avatar Nov 07 '24 23:11 illsilin