[Chapel Merge] This PR allows a GPU kernel to be launched in chap

Branch: refs/heads/master
Revision: 149440b
Author: slnguyen
Log Message:

Merge pull request #17569 from slnguyen/gpu-kernel-launch-primitive2

This PR allows a GPU kernel to be launched in chapel with a primitive instead of launching a kernel with cuLaunchKernel in an extern block. This PR also adds a GPU nightly test for the feature.

[Reviewed by @mppf]

Modified Files:
A test/gpu/native/gpuAddNums/gpuAddNums_primitive.chpl

A test/gpu/native/gpuAddNums/gpuAddNums_primitive.compopts
A test/gpu/native/gpuAddNums/gpuAddNums_primitive.good
M compiler/AST/primitive.cpp
M compiler/codegen/expr.cpp
M compiler/include/primitive_list.h
M compiler/optimizations/optimizeOnClauses.cpp

Compare: https://github.com/chapel-lang/chapel/compare/8770c0675b23...149440b7fec4