Re: [AMBER] Fixed the problem of AMBER20 run with pmemd.cuda with CUDA11.1 and 3080 GPU card

From: Ross Walker <ross.rosswalker.co.uk>
Date: Thu, 31 Dec 2020 10:14:57 -0500

Hi Kai,

Stick with sm80 since there are issues with the sm=86 with 3080 and 3090 right now. See if that fixes it. If you still see issues then it's possible you have a flaky card.

All the best
Ross

> On Dec 31, 2020, at 08:34, liu kai <kailiu.outlook.com> wrote:
>
> Dear All,
>
> I have a problem with amber20 with CUDA11.1, when I used Nvidia 3080 GPU card.
> The error message is “cudaMemcpyToSymbol: SetSim copy to cSim failed invalid device symbol”, maybe connected to http://archive.ambermd.org/202012/0096.html
> I think there is a potential problem in the configure2 file, like my case.
>
> For details:
>
> 1. I have updated to the newest version including update.8 and update.12 for Amber20 and Ambertool20, respectively.
> 2. I used the legacy way to install. Because the error of “unsupported cuda 11.1”, solved by: http://archive.ambermd.org/202011/0157.html
> 3. After installation, I used the same executable file:pmemd.cuda but different machine for my test.
> 4. The test file is already equilibrated, I originally wanted to run the production step for efficiency comparison.
> 5. Thus, It is a repeated calculation but with different ig value.
>
> CUDA 11.1 + Nvidia 3080 calculation failed, with above error message.
>
> CUDA 11.1 + Nvidia 2080Ti OK
>
> CUDA 10.1 + Nvidia 2080Ti OK
>
> Solution:
> The modification in step2 is not enough. Because the gencode is only support to sm75.
> While The 3080 card requires sm86.
> So, I added two lines, highlighted as red as below.
>
> Original:
> if [ "$cudaversion" = "11.0"]; then
> # Implement the standard, not warp synchronous, compilation
> sm75flags='-gencode arch=compute_75,code=sm_75'
> sm70flags='-gencode arch=compute_70,code=sm_70'
> echo "CUDA Version $cudaversion detected"
> echo "Configuring for SM5.0, SM5.2, SM5.3, SM6.0, SM6.1, SM7.0, SM7.5 and SM8.0"
> nvccflags="$sm50flags $sm52flags $sm53flags $sm60flags $sm61flags $sm70flags $sm75flags $sm80flags $sm86flags -Wno-deprecated-declarations"
> changed to:
> if [ "$cudaversion" = "11.0" -o "$cudaversion" = "11.1" ]; then
> # Implement the standard, not warp synchronous, compilation
> sm86flags='-gencode arch=compute_86,code=sm_86'
> sm80flags='-gencode arch=compute_80,code=sm_80'
> sm75flags='-gencode arch=compute_75,code=sm_75'
> sm70flags='-gencode arch=compute_70,code=sm_70'
> echo "CUDA Version $cudaversion detected"
> echo "Configuring for SM5.0, SM5.2, SM5.3, SM6.0, SM6.1, SM7.0, SM7.5 and SM8.0"
> nvccflags="$sm50flags $sm52flags $sm53flags $sm60flags $sm61flags $sm70flags $sm75flags $sm80flags $sm86flags -Wno-deprecated-declarations"
>
> After that, my calculation was terminated normally by CUDA 11.1 + Nvidia 3080.
> I have not carefully tested other cases.
> But I hope this would provide some hits for someone has similar problem.
>
> Yours truly,
> Kai
>
>
>
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber


_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Dec 31 2020 - 07:30:02 PST
Custom Search