diff --git a/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb b/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b3d1e396dc2c15f6856d70fd4de96b875e115442
--- /dev/null
+++ b/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb
@@ -0,0 +1,90 @@
+easyblock = 'CMakeMake'
+
+name = 'AMBER'
+version = '20'
+versionsuffix = '-AmberTools-21'
+
+homepage = 'http://ambermd.org'
+description = """
+AMBER: 'Assisted Model Building with Energy Refinement' is a set of molecular
+mechanics force fields and a package of molecular simulation programs.
+
+Citation:
+D.A. Case, K. Belfon, I.Y. Ben-Shalom, S.R. Brozell, D.S. Cerutti,
+T.E. Cheatham, III, V.W.D. Cruzeiro, T.A. Darden, R.E. Duke, G. Giambasu,
+M.K. Gilson, H. Gohlke, A.W. Goetz, R. Harris, S. Izadi, S.A. Izmailov,
+K. Kasavajhala, A. Kovalenko, R. Krasny, T. Kurtzman, T.S. Lee, S. LeGrand,
+P. Li, C. Lin, J. Liu, T. Luchko, R. Luo, V. Man, K.M. Merz, Y. Miao,
+O. Mikhailovskii, G. Monard, H. Nguyen, A. Onufriev, F.Pan, S. Pantano,
+R. Qi, D.R. Roe, A. Roitberg, C. Sagui, S. Schott-Verdugo, J. Shen,
+C. Simmerling, N.R.Skrynnikov, J. Smith, J. Swails, R.C. Walker, J. Wang,
+L. Wilson, R.M. Wolf, X. Wu, Y. Xiong, Y. Xue, D.M. York
+and P.A. Kollman (2020),
+AMBER 2020, University of California, San Francisco.
+"""
+
+
+toolchain = {'name': 'gpsmkl', 'version': '2021b'}
+toolchainopts = {'pic': True}
+
+builddependencies = [
+    ('CMake', '3.21.1', '', SYSTEM),
+]
+dependencies = [
+    ('FFTW', '3.3.10'),
+    ('Python', '3.9.6'),
+    ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')),
+    ('Boost', '1.78.0'),
+    ('flex', '2.6.4'),
+    ('NCCL', '2.11.4', '-CUDA-11.5'),
+]
+
+sources = [
+    'AmberTools21.tar.bz2',
+    'Amber20.tar.bz2',
+]
+patches = [
+    'fix_nmrat_error.patch',
+]
+checksums = [
+    'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd',
+    'a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75',
+    'af92af090fc4df06b504bd9aabc88f3c63b006aa15b70ee118a789ce19f60b98',
+]
+
+separate_build_dir = True
+local_build_mpi_parts = "TRUE"
+local_build_cuda_parts = "TRUE"
+local_build_cuda_nccl = "TRUE"
+
+preconfigopts = "CC=gcc && CXX=g++ && COMPILER=GNU "
+preconfigopts += " && cd %(builddir)s/amber20_src && "
+preconfigopts += " ./update_amber --update && cd ../easybuild_obj && "
+
+configopts = "-DCOMPILER=GNU -DCHECK_UPDATES=OFF -DAPPLY_UPDATES=OFF -DBUILD_GUI=FALSE "
+configopts += " -DINSTALL_TESTS=TRUE  -DMPI=%s " % local_build_mpi_parts
+configopts += " -DDOWNLOAD_MINICONDA=FALSE -DTRUST_SYSTEM_LIBS=TRUE "
+configopts += " -DCUDA=%s " % local_build_cuda_parts
+configopts += " -DNCCL=%s " % local_build_cuda_nccl
+buildopts = 'NVCC_GENCODE="-gencode=arch=compute_70,code=sm_70 \
+                           -gencode=arch=compute_75,code=sm_75 \
+                           -gencode=arch=compute_80,code=sm_80"'
+
+modextravars = {
+    'AMBERHOME': '%(installdir)s/',
+}
+
+modluafooter = '''
+add_property("arch","gpu")
+'''
+
+group = "amber"
+
+modloadmsg = '''
+The access to this software is restricted to members of the group "amber".
+The JSC has a site licence for academic users. If you would like to get
+access please see:
+"http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/Chemistry/AmberConfirmationOfLicence.html"
+'''
+
+moduleclass = 'bio'
diff --git a/Golden_Repo/a/AMBER/fix_nmrat_error.patch b/Golden_Repo/a/AMBER/fix_nmrat_error.patch
new file mode 100644
index 0000000000000000000000000000000000000000..76804f018070277c9a77c09fe05a9e4c4a90ee9c
--- /dev/null
+++ b/Golden_Repo/a/AMBER/fix_nmrat_error.patch
@@ -0,0 +1,12 @@
+diff -ruN amber20_src/src/pmemd/src/cuda/gpu.cpp amber20_src1/src/pmemd/src/cuda/gpu.cpp
+--- amber20_src/src/pmemd/src/cuda/gpu.cpp	2022-02-28 12:02:56.035534480 +0100
++++ amber20_src1/src/pmemd/src/cuda/gpu.cpp	2022-02-28 12:26:15.265104588 +0100
+@@ -2849,7 +2849,7 @@
+     }
+     // torsions, resttype = 3
+     else if (resttype[i] == 3) {
+-      if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[3] >= 0) {
++      if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[i][3] >= 0) {
+         torsions++;
+       }
+       else {