@@ -43,6 +43,9 @@ TEST_F(NVFuserTest, FusionStandaloneFull_CUDA) {
4343 fusion->addInput (fill_val2);
4444 fusion->addInput (fill_val3);
4545 for (auto dtype : dtypes) {
46+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
47+ continue ;
48+ }
4649 auto out_tv = full ({size}, fill_val1, aten_to_data_type (dtype));
4750 fusion->addOutput (out_tv);
4851 out_tv = full ({size, size}, fill_val2, aten_to_data_type (dtype));
@@ -57,6 +60,9 @@ TEST_F(NVFuserTest, FusionStandaloneFull_CUDA) {
5760 std::vector<at::Tensor> expect;
5861 expect.reserve (dtypes.size ());
5962 for (auto dtype : dtypes) {
63+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
64+ continue ;
65+ }
6066 const auto options =
6167 at::TensorOptions ().dtype (dtype).device (at::kCUDA , 0 );
6268 expect.emplace_back (at::full ({size}, 11 , options));
@@ -94,6 +100,9 @@ TEST_F(NVFuserTest, FusionStandaloneZeros_CUDA) {
94100 Val* size = IrBuilder::create<Int>();
95101 fusion->addInput (size);
96102 for (auto dtype : dtypes) {
103+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
104+ continue ;
105+ }
97106 auto out_tv = zeros ({size}, aten_to_data_type (dtype));
98107 fusion->addOutput (out_tv);
99108 out_tv = zeros ({size, size}, aten_to_data_type (dtype));
@@ -108,6 +117,9 @@ TEST_F(NVFuserTest, FusionStandaloneZeros_CUDA) {
108117 std::vector<at::Tensor> expect;
109118 expect.reserve (dtypes.size ());
110119 for (auto dtype : dtypes) {
120+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
121+ continue ;
122+ }
111123 const auto options =
112124 at::TensorOptions ().dtype (dtype).device (at::kCUDA , 0 );
113125 expect.emplace_back (at::zeros ({size}, options));
@@ -145,6 +157,9 @@ TEST_F(NVFuserTest, FusionStandaloneOnes_CUDA) {
145157 Val* size = IrBuilder::create<Int>();
146158 fusion->addInput (size);
147159 for (auto dtype : dtypes) {
160+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
161+ continue ;
162+ }
148163 auto out_tv = ones ({size}, aten_to_data_type (dtype));
149164 fusion->addOutput (out_tv);
150165 out_tv = ones ({size, size}, aten_to_data_type (dtype));
@@ -159,6 +174,9 @@ TEST_F(NVFuserTest, FusionStandaloneOnes_CUDA) {
159174 std::vector<at::Tensor> expect;
160175 expect.reserve (dtypes.size ());
161176 for (auto dtype : dtypes) {
177+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
178+ continue ;
179+ }
162180 const auto options =
163181 at::TensorOptions ().dtype (dtype).device (at::kCUDA , 0 );
164182 expect.emplace_back (at::ones ({size}, options));
@@ -183,6 +201,10 @@ TEST_F(NVFuserTest, FusionStandaloneARange_CUDA) {
183201 auto dtypes = {kFloat , kLong , kDouble };
184202
185203 for (auto dtype : dtypes) {
204+ if (!isSupportedTypeByDevice (aten_to_data_type (dtype))) {
205+ continue ;
206+ }
207+
186208 auto fusion = std::make_unique<Fusion>();
187209 FusionGuard fg (fusion.get ());
188210
0 commit comments