ROCm / hipfort

Fortran interfaces for ROCm libraries
https://rocm.docs.amd.com/projects/hipfort/en/latest/
Other
68 stars 37 forks source link

File/Folder Reorg Changes #84

Closed arvindcheru closed 2 years ago

arvindcheru commented 2 years ago

File/Folder Reorg Changes Updated

  1. include folder update to include// structure. ex: The files under include folders (include/_ moved to (__include/hipfort/_)
  2. Component Private Binary Files moved to libexec/. ex: Files gputable.txt, myarchgpu, mygpu, mymcpu in bin moved to libexec/hipfort
  3. Misc Files/Samples moved to share/. ex: Makefile.hipfort moved to share/hipfort
  4. Makefile.hipfort and hipfc updated with new include and binary file paths.

New Structure - Snapshot

opt └── rocm ├── bin │   └── hipfc ├── include │   └── hipfort │   ├── amdgcn │   │   ├── hipfort_auxiliary.mod │   │   ├── .... │   └── nvptx │   ├── hipfort_auxiliary.mod │   ├── .... ├── lib │   ├── libhipfort-amdgcn.a │   └── libhipfort-nvptx.a ├── libexec │   └── hipfort │   ├── gputable.txt │   ├── myarchgpu -> mymcpu │   ├── mygpu -> mymcpu │   └── mymcpu └── share ├── doc │   └── hipfort │   └── LICENSE └── hipfort └── Makefile.hipfort

arvindcheru commented 2 years ago

Verified hipfc using run all tests (make all-tests-run, make run_all) with default rocmpath and custom install path (/tmp/hipfort example)

fluidnumerics-joe commented 2 years ago

Hey @arvindcheru, when you are running all tests, what platforms are you building on and what versions of ROCm are you using ? I'd like to help put together a punch list that we ideally run before updating master. I think that we need to decide on

The cross product of these lists should provide a complete set of tests to help us ensure that hipfort is remaining portable with each merge.

fluidnumerics-joe commented 2 years ago

@gregrodgers - I see that we are not using branch protection for master nor are we requiring passing reviews to get changes into master. I'd be highly in favor of requiring passing reviews to ensure changes to hipfort meet formatting requirements (I don't think we have this documented anywhere) and portability requirements (also not documented, but see above).

arvindcheru commented 2 years ago

The changes were verified on ROCM Mainline with AMD 64 packages on GNU/Linux the test (make all-tests-run, make run_all) mentioned were following the steps mentioned in README. https://github.com/ROCmSoftwarePlatform/hipfort#build-and-test-hipfort-from-source https://github.com/ROCmSoftwarePlatform/hipfort#amd-devices