已合并
新增SIMT max、min接口 #3539
zhangshunwei2创建于 6月25日
新增SIMT max、min接口 #3539
已合并
zhangshunwei2创建于 6月25日
共 1 个文件变更+85-0
@@ -251,6 +251,91 @@ __SIMT_DEVICE_FUNCTIONS_DECL__ inline float fdividef(float x, float y);
251 251 
252__SIMT_DEVICE_FUNCTIONS_DECL__ inline int signbit(float x);252__SIMT_DEVICE_FUNCTIONS_DECL__ inline int signbit(float x);
253 253 
254+#ifndef __NPU_COMPILER_INTERNAL_PURE_SIMT__
255+#if (__NPU_ARCH__ == 3510)
256+#ifndef ASCENDC_CPU_DEBUG
257+static __callee__ long long max(long long x, long long y);
258+ 
259+static __callee__ unsigned long long max(unsigned long long x, unsigned long long y);
260+ 
261+static __callee__ unsigned int max(unsigned int x, unsigned int y);
262+ 
263+static __callee__ long max(long x, long y);
264+ 
265+static __callee__ int max(int x, int y);
266+ 
267+static __callee__ short max(short x, short y);
268+ 
269+static __callee__ char max(char x, char y);
270+ 
271+static __callee__ unsigned long max(unsigned long x, unsigned long y);
272+ 
273+static __callee__ unsigned short max(unsigned short x, unsigned short y);
274+ 
275+static __callee__ unsigned char max(unsigned char x, unsigned char y);
276+ 
277+static __callee__ long long min(long long x, long long y);
278+ 
279+static __callee__ unsigned long long min(unsigned long long x, unsigned long long y);
280+ 
281+static __callee__ unsigned int min(unsigned int x, unsigned int y);
282+ 
283+static __callee__ long min(long x, long y);
284+ 
285+static __callee__ int min(int x, int y);
286+ 
287+static __callee__ short min(short x, short y);
288+ 
289+static __callee__ char min(char x, char y);
290+ 
291+static __callee__ unsigned long min(unsigned long x, unsigned long y);
292+ 
293+static __callee__ unsigned short min(unsigned short x, unsigned short y);
294+ 
295+static __callee__ unsigned char min(unsigned char x, unsigned char y);
296+#endif
297+#endif
298+#else
299+static __SIMT_DEVICE_FUNCTIONS_DECL__ long long max(long long x, long long y);
300+ 
301+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned long long max(unsigned long long x, unsigned long long y);
302+ 
303+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned int max(unsigned int x, unsigned int y);
304+ 
305+static __SIMT_DEVICE_FUNCTIONS_DECL__ long max(long x, long y);
306+ 
307+static __SIMT_DEVICE_FUNCTIONS_DECL__ int max(int x, int y);
308+ 
309+static __SIMT_DEVICE_FUNCTIONS_DECL__ short max(short x, short y);
310+ 
311+static __SIMT_DEVICE_FUNCTIONS_DECL__ char max(char x, char y);
312+ 
313+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned long max(unsigned long x, unsigned long y);
314+ 
315+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned short max(unsigned short x, unsigned short y);
316+ 
317+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned char max(unsigned char x, unsigned char y);
318+ 
319+static __SIMT_DEVICE_FUNCTIONS_DECL__ long long min(long long x, long long y);
320+ 
321+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned long long min(unsigned long long x, unsigned long long y);
322+ 
323+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned int min(unsigned int x, unsigned int y);
324+ 
325+static __SIMT_DEVICE_FUNCTIONS_DECL__ long min(long x, long y);
326+ 
327+static __SIMT_DEVICE_FUNCTIONS_DECL__ int min(int x, int y);
328+ 
329+static __SIMT_DEVICE_FUNCTIONS_DECL__ short min(short x, short y);
330+ 
331+static __SIMT_DEVICE_FUNCTIONS_DECL__ char min(char x, char y);
332+ 
333+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned long min(unsigned long x, unsigned long y);
334+ 
335+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned short min(unsigned short x, unsigned short y);
336+ 
337+static __SIMT_DEVICE_FUNCTIONS_DECL__ unsigned char min(unsigned char x, unsigned char y);
338+#endif
254#include "impl/simt_api/math_functions_impl.h"339#include "impl/simt_api/math_functions_impl.h"
255 340 
256#if defined(__UNDEF_ASCENDC_INCLUDE_INTERNAL_HEADERS_MATH_FUNCTIONS_H__)341#if defined(__UNDEF_ASCENDC_INCLUDE_INTERNAL_HEADERS_MATH_FUNCTIONS_H__)