Rocm 3.7 miopen, miopengemm, rocalution and rocm-opencl (#18690)
* ROCm 3.5 miopen recipe * fixing flake8 issues * cmake variant fix * min support fix * variant possible values * rocm3.7 change for miopen, rocalution and rocm-opencl * review comments
This commit is contained in:
parent
91bd99b4b2
commit
0f332c73a6
@ -11,10 +11,11 @@ class MiopenHip(CMakePackage):
|
||||
"""AMD's library for high performance machine learning primitives."""
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-3.5.0.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-3.7.0.tar.gz"
|
||||
|
||||
maintainers = ['srekolam', 'arjun-raj-kuppala']
|
||||
|
||||
version('3.7.0', sha256='f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103')
|
||||
version('3.5.0', sha256='aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82')
|
||||
|
||||
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
|
||||
@ -25,7 +26,7 @@ class MiopenHip(CMakePackage):
|
||||
depends_on('bzip2', type='link')
|
||||
depends_on('sqlite', type='link')
|
||||
depends_on('half', type='build')
|
||||
for ver in ['3.5.0']:
|
||||
for ver in ['3.5.0', '3.7.0']:
|
||||
depends_on('hip@' + ver, type='build', when='@' + ver)
|
||||
depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
|
||||
depends_on('comgr@' + ver, type='link', when='@' + ver)
|
||||
|
@ -11,10 +11,11 @@ class MiopenOpencl(CMakePackage):
|
||||
"""AMD's library for high performance machine learning primitives."""
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpen"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-3.5.0.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/MIOpen/archive/rocm-3.7.0.tar.gz"
|
||||
|
||||
maintainers = ['srekolam', 'arjun-raj-kuppala']
|
||||
|
||||
version('3.7.0', sha256='f6a6ddd8d39bb76b7f7d91e68ade3b45e0201181145658c43b967065a354b103')
|
||||
version('3.5.0', sha256='aa362e69c4dce7f5751f0ee04c745735ea5454c8101050e9b92cc60fa3c0fb82')
|
||||
|
||||
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
|
||||
@ -25,7 +26,7 @@ class MiopenOpencl(CMakePackage):
|
||||
depends_on('bzip2', type='link')
|
||||
depends_on('sqlite', type='link')
|
||||
depends_on('half', type='build')
|
||||
for ver in ['3.5.0']:
|
||||
for ver in ['3.5.0', '3.7.0']:
|
||||
depends_on('hip@' + ver, type='build', when='@' + ver)
|
||||
depends_on('rocm-cmake@' + ver, type='build', when='@' + ver)
|
||||
depends_on('comgr@' + ver, type='link', when='@' + ver)
|
||||
@ -33,6 +34,7 @@ class MiopenOpencl(CMakePackage):
|
||||
depends_on('rocm-opencl@' + ver, type='build', when='@' + ver)
|
||||
depends_on('miopengemm@1.1.6:', type='link', when='@' + ver)
|
||||
depends_on('rocm-device-libs@' + ver, type='link', when='@' + ver)
|
||||
depends_on('hsa-rocr-dev@' + ver, type='link', when='@' + ver)
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
|
@ -20,5 +20,6 @@ class Miopengemm(CMakePackage):
|
||||
variant('build_type', default='Release', values=("Release", "Debug"), description='CMake build type')
|
||||
|
||||
depends_on('cmake@3:', type='build')
|
||||
depends_on('rocm-cmake@3.5:', type='build', when='@1.1.6')
|
||||
depends_on('rocm-opencl@3.5:', type='build', when='@1.1.6')
|
||||
for ver in ['1.1.6']:
|
||||
depends_on('rocm-cmake@' + '3.7.0', type='build', when='@' + ver)
|
||||
depends_on('rocm-opencl@' + '3.7.0', type='build', when='@' + ver)
|
||||
|
@ -16,20 +16,22 @@ class Rocalution(CMakePackage):
|
||||
other scientific software packages."""
|
||||
|
||||
homepage = "https://github.com/ROCmSoftwarePlatform/rocALUTION"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-3.5.0.tar.gz"
|
||||
url = "https://github.com/ROCmSoftwarePlatform/rocALUTION/archive/rocm-3.7.0.tar.gz"
|
||||
|
||||
maintainers = ['srekolam', 'arjun-raj-kuppala']
|
||||
|
||||
version('3.7.0', sha256='4d6b20aaaac3bafb7ec084d684417bf578349203b0f9f54168f669e3ec5699f8')
|
||||
version('3.5.0', sha256='be2f78c10c100d7fd9df5dd2403a44700219c2cbabaacf2ea50a6e2241df7bfe')
|
||||
|
||||
depends_on('cmake@3.5.2', type='build')
|
||||
for ver in ['3.5.0']:
|
||||
depends_on('cmake@3.5:', type='build')
|
||||
for ver in ['3.5.0', '3.7.0']:
|
||||
depends_on('hip@' + ver, when='@' + ver)
|
||||
depends_on('rocblas@' + ver, type='build', when='@' + ver)
|
||||
depends_on('rocsparse@' + ver, type='build', when='@' + ver)
|
||||
depends_on('rocblas@' + ver, type='link', when='@' + ver)
|
||||
depends_on('rocprim@' + ver, type='link', when='@' + ver)
|
||||
depends_on('rocsparse@' + ver, type='link', when='@' + ver)
|
||||
depends_on('rocm-device-libs@' + ver, type='build', when='@' + ver)
|
||||
depends_on('comgr@' + ver, type='build', when='@' + ver)
|
||||
depends_on('rocprim@' + ver, type='build', when='@' + ver)
|
||||
depends_on('llvm-amdgpu@' + ver, type='build', when='@' + ver)
|
||||
|
||||
patch('0001-fix-hip-build-error.patch')
|
||||
|
||||
@ -38,7 +40,6 @@ def setup_build_environment(self, env):
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
'-DSUPPORT_OMP=ON',
|
||||
'-DSUPPORT_HIP=ON',
|
||||
'-DSUPPORT_MPI=OFF',
|
||||
'-DBUILD_CLIENTS_SAMPLES=OFF'
|
||||
|
@ -10,15 +10,25 @@ class RocmOpencl(CMakePackage):
|
||||
"""OpenCL: Open Computing Language on ROCclr"""
|
||||
|
||||
homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime"
|
||||
url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz"
|
||||
|
||||
maintainers = ['srekolam', 'arjun-raj-kuppala']
|
||||
|
||||
def url_for_version(self, version):
|
||||
if version == Version('3.5.0'):
|
||||
return "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/roc-3.5.0.tar.gz"
|
||||
|
||||
url = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/rocm-{0}.tar.gz"
|
||||
return url.format(version)
|
||||
|
||||
version('3.7.0', sha256='283e1dfe4c3d2e8af4d677ed3c20e975393cdb0856e3ccd77b9c7ed2a151650b')
|
||||
version('3.5.0', sha256='511b617d5192f2d4893603c1a02402b2ac9556e9806ff09dd2a91d398abf39a0')
|
||||
|
||||
depends_on('cmake@3:', type='build')
|
||||
depends_on('rocclr@3.5.0', type='build', when='@3.5.0')
|
||||
depends_on('comgr@3.5.0', type='build', when='@3.5.0')
|
||||
depends_on('mesa~llvm@18.3:', type='link')
|
||||
for ver in ['3.5.0', '3.7.0']:
|
||||
depends_on('rocclr@' + ver, type='build', when='@' + ver)
|
||||
depends_on('comgr@' + ver, type='build', when='@' + ver)
|
||||
depends_on('hsa-rocr-dev@' + ver, type='build', when='@' + ver)
|
||||
|
||||
def flag_handler(self, name, flags):
|
||||
# The includes are messed up in ROCm 3.5.0:
|
||||
@ -27,7 +37,7 @@ def flag_handler(self, name, flags):
|
||||
# commented out. So instead we provide
|
||||
# all the includes...
|
||||
|
||||
if self.spec.satisfies('@3.5.0') and name in ('cflags', 'cxxflags'):
|
||||
if name in ('cflags', 'cxxflags'):
|
||||
rocclr = self.spec['rocclr'].prefix.include
|
||||
extra_includes = [
|
||||
'include',
|
||||
|
Loading…
Reference in New Issue
Block a user