Worked around a compiler bug in CUDA 9.1, which caused an "Internal Compiler Error (codegen): "there was an error in verifying the lgenfe output!". Apparently the compiler got confused by overloaded is_valid() if the input parameter was not passed as a reference in both cases.
This commit is contained in:
@@ -426,7 +426,7 @@ cross(const AcReal3& a, const AcReal3& b)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static __host__ __device__ __forceinline__ bool
|
static __host__ __device__ __forceinline__ bool
|
||||||
is_valid(const AcReal a)
|
is_valid(const AcReal& a)
|
||||||
{
|
{
|
||||||
return !isnan(a) && !isinf(a);
|
return !isnan(a) && !isinf(a);
|
||||||
}
|
}
|
||||||
@@ -546,7 +546,7 @@ normalized(const AcReal3& vec)
|
|||||||
// Sinusoidal forcing
|
// Sinusoidal forcing
|
||||||
// https://arxiv.org/pdf/1704.04676.pdf
|
// https://arxiv.org/pdf/1704.04676.pdf
|
||||||
// NOTE: This method of forcing is depracated. However, it will remain in here
|
// NOTE: This method of forcing is depracated. However, it will remain in here
|
||||||
// until a corresponding scheme exists in the new code.
|
// until a corresponding scheme exists in the new code.
|
||||||
__constant__ AcReal3 forcing_vec;
|
__constant__ AcReal3 forcing_vec;
|
||||||
__constant__ AcReal forcing_phi;
|
__constant__ AcReal forcing_phi;
|
||||||
static __device__ __forceinline__ AcReal3
|
static __device__ __forceinline__ AcReal3
|
||||||
|
|||||||
Reference in New Issue
Block a user