Add a missing header to cuda_common.h (#15489)

### Description

The following three lines are needed before including some cutlass
header files, because cutlass uses "and"/"or" keywords. Generally it
should not be a problem without this header, but nvcc is not strictly
compliant to C++ standard.

```c++
#ifdef __cplusplus
#include <ciso646>
#endif
```

We didn't hit this problem because the above code exists in absl. We
always include absl headers first. However, ABSL recently deleted them!
https://github.com/abseil/abseil-cpp/pull/1246

The cutlass dependency was introduced in #14343 , after we had abseil.
This commit is contained in:
Changming Sun 2023-04-12 22:16:59 -07:00 committed by GitHub
parent 516c8e95fa
commit a22dc65a81
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,6 +3,12 @@
#pragma once
// The following three lines were copied from ABSL
// cutlass needs them, because cutlass uses "and"/"or" keywords
#ifdef __cplusplus
#include <ciso646>
#endif
#include "core/providers/shared_library/provider_api.h"
#include "core/common/status.h"
#include "core/framework/float16.h"