Supported Functions#

The following functions and headers are supported at least partially on the device. Some functions are implemented fully on the GPU, while others require a remote procedure call.

ctype.h#

Function Name

Available

RPC Required

isalnum

✅

isalpha

✅

isascii

✅

isblank

✅

iscntrl

✅

isdigit

✅

isgraph

✅

islower

✅

isprint

✅

ispunct

✅

isspace

✅

isupper

✅

isxdigit

✅

toascii

✅

tolower

✅

toupper

✅

string.h#

Function Name

Available

RPC Required

bcmp

✅

bcopy

✅

bzero

✅

memccpy

✅

memchr

✅

memcmp

✅

memcpy

✅

memmem

✅

memmove

✅

mempcpy

✅

memrchr

✅

memset

✅

stpcpy

✅

stpncpy

✅

strcat

✅

strchr

✅

strchrnul

✅

strcmp

✅

strcoll

✅

strcpy

✅

strcspn

✅

strdup

✅

strerror

✅

strlcat

✅

strlcpy

✅

strlen

✅

strncat

✅

strncmp

✅

strncpy

✅

strndup

✅

strnlen

✅

strpbrk

✅

strrchr

✅

strsep

✅

strspn

✅

strstr

✅

strtok

✅

strtok_r

✅

strxfrm

✅

strings.h#

Function Name

Available

RPC Required

bcmp

✅

bcopy

✅

bzero

✅

strcasecmp

✅

strcasestr

✅

index

✅

rindex

✅

stdbit.h#

Function Name

Available

RPC Required

stdc_leading_zeros_uc

✅

stdc_leading_zeros_us

✅

stdc_leading_zeros_ui

✅

stdc_leading_zeros_ul

✅

stdc_leading_zeros_ull

✅

stdc_trailing_zeros_uc

✅

stdc_trailing_zeros_us

✅

stdc_trailing_zeros_ui

✅

stdc_trailing_zeros_ul

✅

stdc_trailing_zeros_ull

✅

stdc_trailing_ones_uc

✅

stdc_trailing_ones_us

✅

stdc_trailing_ones_ui

✅

stdc_trailing_ones_ul

✅

stdc_trailing_ones_ull

✅

stdc_first_leading_zero_uc

✅

stdc_first_leading_zero_us

✅

stdc_first_leading_zero_ui

✅

stdc_first_leading_zero_ul

✅

stdc_first_leading_zero_ull

✅

stdc_first_leading_one_uc

✅

stdc_first_leading_one_us

✅

stdc_first_leading_one_ui

✅

stdc_first_leading_one_ul

✅

stdc_first_leading_one_ull

✅

stdc_first_trailing_zero_uc

✅

stdc_first_trailing_zero_us

✅

stdc_first_trailing_zero_ui

✅

stdc_first_trailing_zero_ul

✅

stdc_first_trailing_zero_ull

✅

stdc_first_trailing_one_uc

✅

stdc_first_trailing_one_us

✅

stdc_first_trailing_one_ui

✅

stdc_first_trailing_one_ul

✅

stdc_first_trailing_one_ull

✅

stdc_count_zeros_uc

✅

stdc_count_zeros_us

✅

stdc_count_zeros_ui

✅

stdc_count_zeros_ul

✅

stdc_count_zeros_ull

✅

stdc_count_ones_uc

✅

stdc_count_ones_us

✅

stdc_count_ones_ui

✅

stdc_count_ones_ul

✅

stdc_count_ones_ull

✅

stdc_has_single_bit_uc

✅

stdc_has_single_bit_us

✅

stdc_has_single_bit_ui

✅

stdc_has_single_bit_ul

✅

stdc_has_single_bit_ull

✅

stdc_bit_width_uc

✅

stdc_bit_width_us

✅

stdc_bit_width_ui

✅

stdc_bit_width_ul

✅

stdc_bit_width_ull

✅

stdc_bit_floor_uc

✅

stdc_bit_floor_us

✅

stdc_bit_floor_ui

✅

stdc_bit_floor_ul

✅

stdc_bit_floor_ull

✅

stdc_bit_ceil_uc

✅

stdc_bit_ceil_us

✅

stdc_bit_ceil_ui

✅

stdc_bit_ceil_ul

✅

stdc_bit_ceil_ull

✅

stdlib.h#

Function Name

Available

RPC Required

abs

✅

atoi

✅

atof

✅

atol

✅

atoll

✅

exit

✅

✅

abort

✅

✅

system

✅

✅

labs

✅

llabs

✅

div

✅

ldiv

✅

lldiv

✅

bsearch

✅

qsort

✅

qsort_r

✅

strtod

✅

strtof

✅

strtol

✅

strtold

✅

strtoll

✅

strtoul

✅

strtoull

✅

srand

✅

rand

✅

inttypes.h#

Function Name

Available

RPC Required

imaxabs

✅

imaxdiv

✅

strtoimax

✅

strtoumax

✅

stdio.h#

Function Name

Available

RPC Required

feof

✅

✅

ferror

✅

✅

clearerr

✅

✅

fseek

✅

✅

ftell

✅

✅

fflush

✅

✅

fgetc

✅

✅

fgets

✅

✅

ungetc

✅

✅

getc

✅

✅

getchar

✅

✅

puts

✅

✅

fputs

✅

✅

fputc

✅

✅

fwrite

✅

✅

remove

✅

✅

rename

✅

✅

putc

✅

✅

printf

✅

✅

vprintf

✅

✅

fprintf

✅

✅

vfprintf

✅

✅

sprintf

✅

snprintf

✅

vsprintf

✅

vsnprintf

✅

sscanf

✅

scanf

✅

✅

fscanf

✅

✅

putchar

✅

✅

fclose

✅

✅

fopen

✅

✅

fread

✅

✅

time.h#

Function Name

Available

RPC Required

clock

✅

clock_gettime

✅

nanosleep

✅

strftime

✅

strftime_l

✅

assert.h#

Function Name

Available

RPC Required

assert

✅

✅

__assert_fail

✅

✅