-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add/spack export to generate standard format of packages and metadata #1
base: develop
Are you sure you want to change the base?
Conversation
Signed-off-by: vsoch <vsochat@stanford.edu>
Signed-off-by: vsoch <vsochat@stanford.edu>
Signed-off-by: vsoch <vsochat@stanford.edu>
PR updated to:
A new export looks like this: Json export of packages, export schema{
"_meta": {
"spack-version": "0.16.0"
},
"specs": [
{
"name": "autoconf",
"hash": "dxo5g7zayxrtg4wex6fqcixgmfywuiie",
"version": "2.69",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/autoconf-2.69-dxo5g7zayxrtg4wex6fqcixgmfywuiie",
"dependencies": {
"m4": {
"hash": "erqdtam4yfnuwhwzmk2n5u4wbwcb5wkv",
"type": [
"build",
"run"
]
},
"perl": {
"hash": "3fjpn4jzos5iut7cvjqbngo3imtxbosn",
"type": [
"build",
"run"
]
}
}
},
{
"name": "m4",
"hash": "erqdtam4yfnuwhwzmk2n5u4wbwcb5wkv",
"version": "1.4.18",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"patches": [
"3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00",
"fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8"
],
"sigsegv": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/m4-1.4.18-erqdtam4yfnuwhwzmk2n5u4wbwcb5wkv",
"patches": [
"3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00",
"fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8"
],
"dependencies": {
"libsigsegv": {
"hash": "aymspclv5aqdkwqkxvlxxerrimgsjzd2",
"type": [
"build",
"link"
]
}
}
},
{
"name": "libsigsegv",
"hash": "aymspclv5aqdkwqkxvlxxerrimgsjzd2",
"version": "2.12",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libsigsegv-2.12-aymspclv5aqdkwqkxvlxxerrimgsjzd2"
},
{
"name": "perl",
"hash": "3fjpn4jzos5iut7cvjqbngo3imtxbosn",
"version": "5.32.0",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"cpanm": true,
"shared": true,
"threads": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/perl-5.32.0-3fjpn4jzos5iut7cvjqbngo3imtxbosn",
"dependencies": {
"berkeley-db": {
"hash": "xrzi3qjouewrl7vgf7hfl42xcwcptryi",
"type": [
"build",
"link"
]
},
"gdbm": {
"hash": "a3onxbk63mvypoeocklamcj3q7jcyfyj",
"type": [
"build",
"link"
]
}
}
},
{
"name": "berkeley-db",
"hash": "xrzi3qjouewrl7vgf7hfl42xcwcptryi",
"version": "18.1.40",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/berkeley-db-18.1.40-xrzi3qjouewrl7vgf7hfl42xcwcptryi"
},
{
"name": "gdbm",
"hash": "a3onxbk63mvypoeocklamcj3q7jcyfyj",
"version": "1.18.1",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/gdbm-1.18.1-a3onxbk63mvypoeocklamcj3q7jcyfyj",
"dependencies": {
"readline": {
"hash": "l3bzhbkekxg3ggeov4cjh3gaj5jdplet",
"type": [
"build",
"link"
]
}
}
},
{
"name": "readline",
"hash": "l3bzhbkekxg3ggeov4cjh3gaj5jdplet",
"version": "8.0",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/readline-8.0-l3bzhbkekxg3ggeov4cjh3gaj5jdplet",
"dependencies": {
"ncurses": {
"hash": "nlvmejfn4n7jkkot2nglflrtwpu56o27",
"type": [
"build",
"link"
]
}
}
},
{
"name": "ncurses",
"hash": "nlvmejfn4n7jkkot2nglflrtwpu56o27",
"version": "6.2",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"symlinks": false,
"termlib": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/ncurses-6.2-nlvmejfn4n7jkkot2nglflrtwpu56o27"
},
{
"name": "automake",
"hash": "6nzwwofj7xewjf4pfiudu5mvksmhi6o2",
"version": "1.16.2",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/automake-1.16.2-6nzwwofj7xewjf4pfiudu5mvksmhi6o2",
"dependencies": {
"perl": {
"hash": "3fjpn4jzos5iut7cvjqbngo3imtxbosn",
"type": [
"build",
"run"
]
}
}
},
{
"name": "bzip2",
"hash": "yjwcvti7ehjkvqcu67rdzymdawi6nruk",
"version": "1.0.8",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"shared": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/bzip2-1.0.8-yjwcvti7ehjkvqcu67rdzymdawi6nruk"
},
{
"name": "diffutils",
"hash": "624pjac4maorpjwa4kl7ydasl5jy7wgy",
"version": "3.7",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/diffutils-3.7-624pjac4maorpjwa4kl7ydasl5jy7wgy",
"dependencies": {
"libiconv": {
"hash": "7ddqjmff6zg3zer572yuqnvzk2ebrkfc",
"type": [
"build",
"link"
]
}
}
},
{
"name": "libiconv",
"hash": "7ddqjmff6zg3zer572yuqnvzk2ebrkfc",
"version": "1.16",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libiconv-1.16-7ddqjmff6zg3zer572yuqnvzk2ebrkfc"
},
{
"name": "expat",
"hash": "ed6encylyziniuvvqtbsunmztze3s5s2",
"version": "2.2.10",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"libbsd": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/expat-2.2.10-ed6encylyziniuvvqtbsunmztze3s5s2",
"dependencies": {
"libbsd": {
"hash": "gvadyz7pk4n6zmbn2kepfwjgdfc6yr2x",
"type": [
"build",
"link"
]
}
}
},
{
"name": "libbsd",
"hash": "gvadyz7pk4n6zmbn2kepfwjgdfc6yr2x",
"version": "0.10.0",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libbsd-0.10.0-gvadyz7pk4n6zmbn2kepfwjgdfc6yr2x"
},
{
"name": "gettext",
"hash": "xkjvfgvpeoxcdckiha765ntqppsftzmg",
"version": "0.21",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"bzip2": true,
"curses": true,
"git": true,
"libunistring": false,
"libxml2": true,
"tar": true,
"xz": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/gettext-0.21-xkjvfgvpeoxcdckiha765ntqppsftzmg",
"dependencies": {
"bzip2": {
"hash": "yjwcvti7ehjkvqcu67rdzymdawi6nruk",
"type": [
"build",
"link"
]
},
"libiconv": {
"hash": "7ddqjmff6zg3zer572yuqnvzk2ebrkfc",
"type": [
"build",
"link"
]
},
"libxml2": {
"hash": "hxsopl6whqtirosqzu4blc3urkyeryhk",
"type": [
"build",
"link"
]
},
"ncurses": {
"hash": "nlvmejfn4n7jkkot2nglflrtwpu56o27",
"type": [
"build",
"link"
]
},
"tar": {
"hash": "2gudv7nnasphqr6zwrvoulakgqkfnbha",
"type": [
"build",
"link"
]
},
"xz": {
"hash": "yjkcmisqyqjpfqwa4cvll5qehkr25aog",
"type": [
"build",
"link",
"run"
]
}
}
},
{
"name": "libxml2",
"hash": "hxsopl6whqtirosqzu4blc3urkyeryhk",
"version": "2.9.10",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"python": false
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libxml2-2.9.10-hxsopl6whqtirosqzu4blc3urkyeryhk",
"dependencies": {
"libiconv": {
"hash": "7ddqjmff6zg3zer572yuqnvzk2ebrkfc",
"type": [
"build",
"link"
]
},
"xz": {
"hash": "yjkcmisqyqjpfqwa4cvll5qehkr25aog",
"type": [
"build",
"link"
]
},
"zlib": {
"hash": "fz2bs562jhc2spgubs3fvq25g3qymz6x",
"type": [
"build",
"link"
]
}
}
},
{
"name": "xz",
"hash": "yjkcmisqyqjpfqwa4cvll5qehkr25aog",
"version": "5.2.5",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"pic": false
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/xz-5.2.5-yjkcmisqyqjpfqwa4cvll5qehkr25aog"
},
{
"name": "zlib",
"hash": "fz2bs562jhc2spgubs3fvq25g3qymz6x",
"version": "1.2.11",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"optimize": true,
"pic": true,
"shared": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/zlib-1.2.11-fz2bs562jhc2spgubs3fvq25g3qymz6x"
},
{
"name": "tar",
"hash": "2gudv7nnasphqr6zwrvoulakgqkfnbha",
"version": "1.32",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/tar-1.32-2gudv7nnasphqr6zwrvoulakgqkfnbha",
"dependencies": {
"libiconv": {
"hash": "7ddqjmff6zg3zer572yuqnvzk2ebrkfc",
"type": [
"build",
"link"
]
}
}
},
{
"name": "hwloc",
"hash": "bvnla66dlfde4hxcs7rxtpigyscxfosa",
"version": "1.11.11",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"cairo": false,
"cuda": false,
"gl": false,
"libudev": false,
"libxml2": true,
"netloc": false,
"nvml": false,
"pci": true,
"shared": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/hwloc-1.11.11-bvnla66dlfde4hxcs7rxtpigyscxfosa",
"dependencies": {
"libpciaccess": {
"hash": "fyllhvy7teorlwvdy2sqtpooxlwjrniv",
"type": [
"build",
"link"
]
},
"libxml2": {
"hash": "hxsopl6whqtirosqzu4blc3urkyeryhk",
"type": [
"build",
"link"
]
},
"numactl": {
"hash": "whvewr7rzd4pjpcruu3qeyr5hxmigwt4",
"type": [
"build",
"link"
]
}
}
},
{
"name": "libpciaccess",
"hash": "fyllhvy7teorlwvdy2sqtpooxlwjrniv",
"version": "0.16",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libpciaccess-0.16-fyllhvy7teorlwvdy2sqtpooxlwjrniv"
},
{
"name": "numactl",
"hash": "whvewr7rzd4pjpcruu3qeyr5hxmigwt4",
"version": "2.0.14",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"patches": [
"4e1d78cbbb85de625bad28705e748856033eaafab92a66dffd383a3d7e00cc94"
]
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/numactl-2.0.14-whvewr7rzd4pjpcruu3qeyr5hxmigwt4",
"patches": [
"4e1d78cbbb85de625bad28705e748856033eaafab92a66dffd383a3d7e00cc94"
]
},
{
"name": "libffi",
"hash": "fx25vf5v4ascytgovndkyubz3edmi3ua",
"version": "3.3",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"patches": [
"26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0"
]
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libffi-3.3-fx25vf5v4ascytgovndkyubz3edmi3ua",
"patches": [
"26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0"
]
},
{
"name": "libtool",
"hash": "oljw33wi4jixtfxnwe56rijcmgw3t4o4",
"version": "2.4.6",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libtool-2.4.6-oljw33wi4jixtfxnwe56rijcmgw3t4o4"
},
{
"name": "libuuid",
"hash": "zmp24y7n3vlc6nf5fkgjhnkskcqgkxti",
"version": "1.0.3",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/libuuid-1.0.3-zmp24y7n3vlc6nf5fkgjhnkskcqgkxti"
},
{
"name": "openssl",
"hash": "x2nzurqswjj6yewwmt4ksistiikduscn",
"version": "1.1.1i",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"systemcerts": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/openssl-1.1.1i-x2nzurqswjj6yewwmt4ksistiikduscn",
"dependencies": {
"zlib": {
"hash": "fz2bs562jhc2spgubs3fvq25g3qymz6x",
"type": [
"build",
"link"
]
}
}
},
{
"name": "pkgconf",
"hash": "wicmqmx5hlx35fzdgmxs2thnjloasw7q",
"version": "1.7.3",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/pkgconf-1.7.3-wicmqmx5hlx35fzdgmxs2thnjloasw7q"
},
{
"name": "python",
"hash": "xzlv5l2ex5x4xcgjdqbmtqub2aog3t4o",
"version": "3.8.6",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"bz2": true,
"ctypes": true,
"dbm": true,
"debug": false,
"libxml2": true,
"lzma": true,
"nis": false,
"optimizations": false,
"patches": [
"0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87"
],
"pic": true,
"pyexpat": true,
"pythoncmd": true,
"readline": true,
"shared": true,
"sqlite3": true,
"ssl": true,
"tix": false,
"tkinter": false,
"ucs4": false,
"uuid": true,
"zlib": true
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/python-3.8.6-xzlv5l2ex5x4xcgjdqbmtqub2aog3t4o",
"patches": [
"0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87"
],
"dependencies": {
"bzip2": {
"hash": "yjwcvti7ehjkvqcu67rdzymdawi6nruk",
"type": [
"build",
"link"
]
},
"expat": {
"hash": "ed6encylyziniuvvqtbsunmztze3s5s2",
"type": [
"build",
"link"
]
},
"gdbm": {
"hash": "a3onxbk63mvypoeocklamcj3q7jcyfyj",
"type": [
"build",
"link"
]
},
"gettext": {
"hash": "xkjvfgvpeoxcdckiha765ntqppsftzmg",
"type": [
"build",
"link"
]
},
"libffi": {
"hash": "fx25vf5v4ascytgovndkyubz3edmi3ua",
"type": [
"build",
"link"
]
},
"libuuid": {
"hash": "zmp24y7n3vlc6nf5fkgjhnkskcqgkxti",
"type": [
"build",
"link"
]
},
"ncurses": {
"hash": "nlvmejfn4n7jkkot2nglflrtwpu56o27",
"type": [
"build",
"link"
]
},
"openssl": {
"hash": "x2nzurqswjj6yewwmt4ksistiikduscn",
"type": [
"build",
"link"
]
},
"readline": {
"hash": "l3bzhbkekxg3ggeov4cjh3gaj5jdplet",
"type": [
"build",
"link"
]
},
"sqlite": {
"hash": "542j4smsc2j3jkjowrebyc5s77kna4d4",
"type": [
"build",
"link"
]
},
"xz": {
"hash": "yjkcmisqyqjpfqwa4cvll5qehkr25aog",
"type": [
"build",
"link"
]
},
"zlib": {
"hash": "fz2bs562jhc2spgubs3fvq25g3qymz6x",
"type": [
"build",
"link"
]
}
}
},
{
"name": "sqlite",
"hash": "542j4smsc2j3jkjowrebyc5s77kna4d4",
"version": "3.33.0",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"parameters": {
"column_metadata": true,
"fts": true,
"functions": false,
"rtree": false
},
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/sqlite-3.33.0-542j4smsc2j3jkjowrebyc5s77kna4d4",
"dependencies": {
"readline": {
"hash": "l3bzhbkekxg3ggeov4cjh3gaj5jdplet",
"type": [
"build",
"link"
]
},
"zlib": {
"hash": "fz2bs562jhc2spgubs3fvq25g3qymz6x",
"type": [
"build",
"link"
]
}
}
},
{
"name": "util-macros",
"hash": "se2a2e74oyusj2r4esgcb7pr3qhh45ef",
"version": "1.19.1",
"arch": {
"platform": "linux",
"platform_os": "ubuntu18.04",
"target": {
"name": "skylake",
"vendor": "GenuineIntel",
"features": [
"adx",
"aes",
"avx",
"avx2",
"bmi1",
"bmi2",
"clflushopt",
"f16c",
"fma",
"mmx",
"movbe",
"pclmulqdq",
"popcnt",
"rdrand",
"rdseed",
"sse",
"sse2",
"sse4_1",
"sse4_2",
"ssse3",
"xsavec",
"xsaveopt"
],
"generation": 0,
"parents": [
"broadwell"
]
}
},
"compiler": {
"name": "gcc",
"version": "7.5.0"
},
"namespace": "builtin",
"prefix": "/home/vanessa/Desktop/Code/spack/opt/spack/linux-ubuntu18.04-skylake/gcc-7.5.0/util-macros-1.19.1-se2a2e74oyusj2r4esgcb7pr3qhh45ef"
}
]
} |
Before: ``` $ hyperfine '~/spack/bin/spack -e . build-env rocfft' Benchmark #1: ~/spack/bin/spack -e . build-env rocfft Time (mean ± σ): 1.593 s ± 0.016 s [User: 1.468 s, System: 0.126 s] Range (min … max): 1.575 s … 1.628 s 10 runs ``` After: ``` $ hyperfine '~/spack/bin/spack -e . build-env rocfft' Benchmark #1: ~/spack/bin/spack -e . build-env rocfft Time (mean ± σ): 1.407 s ± 0.020 s [User: 1.280 s, System: 0.127 s] Range (min … max): 1.393 s … 1.455 s 10 runs ```
@spackbot do you do anything? |
@spackbot hello! |
Hello! |
@spackbot commands |
You can interact with me in many ways!
I'll also help to label your pull request and assign reviewers! |
@spackbot help! |
You can interact with me in many ways!
I'll also help to label your pull request and assign reviewers! |
Git 2.24 introduced a feature flag for repositories with many files, see: https://github.blog/2019-11-03-highlights-from-git-2-24/#feature-macros Since Spack's Git repository contains roughly 8,500 files, it can be worthwhile to enable this, especially on slow file systems such as NFS: ``` $ hyperfine --warmup 3 'cd spack-default; git status' 'cd spack-manyfiles; git status' Benchmark #1: cd spack-default; git status Time (mean ± σ): 3.388 s ± 0.095 s [User: 256.2 ms, System: 625.8 ms] Range (min … max): 3.168 s … 3.535 s 10 runs Benchmark #2: cd spack-manyfiles; git status Time (mean ± σ): 168.7 ms ± 10.9 ms [User: 98.6 ms, System: 126.1 ms] Range (min … max): 144.8 ms … 188.0 ms 19 runs Summary 'cd spack-manyfiles; git status' ran 20.09 ± 1.42 times faster than 'cd spack-default; git status' ```
Hey @tgamblin! This pull request is primarily for discussion, and let me know if I should be pinging others that are interested as well. The goal is to make it easy to export a json file with:
So I added a new schema, export.py, that primarily uses other schemas (spec.py and compilers.py) to create a simple data structure with those three entities. This structure is then exposed via the export.py command. Some questions that I had:
spack export
will print this in the console, a derivative of the example provided (that still needs a bit of work, but it's a start!)
JSON export example
YAML example
Not implemented yet, but just to show.
Questions
operating_system
), usingexecutables
instead ofpaths
, and an additional "prefix" section). for this first go I tried to maintain what is currently in spack as much as possible. Also, it looks like the example has null or empty values removed (which I haven't done). Should we do this, and if yes, on the level of the export function, or at the level of the spec/compiler?rpm
attribute that looks like the package file, and I didn't add this yet. We can either go with something likesource
with nested values, or do the same as the example, a flatrpm
(and other sources) at the top level. e.g.,{"source": {"name": "RPM", "filename": "fftw-2.1.5.9-3.x86_64.rpm"}}
TODO
And thinking about this, if this file can describe all packages and compilers and some metadata, it could be used as input for not just spack/tools, but also for cool visualizations! Apologies in advance for any or all oversights that I've had in putting this together, I'm fairly new to this part of spack so I'm pretty happy that I at least found what I was looking for 😆