Crate amd_uprof_sys

Crate amd_uprof_sys 

Source
Expand description

§amd_uprof-sys

Provides FFI bindings to AMD uProf’s AMDProfileController API for profiling from Rust.

§Installation

[dependencies]
amd_uprof-sys = "0.1"

§Env vars

  • AMD_UPROF_DIR: root install directory; used to infer include/lib paths.
  • AMD_UPROF_INCLUDE_DIR: explicit path to headers (overrides inference).
  • AMD_UPROF_LIB_DIR: explicit path to libraries (overrides inference).

If env vars are not set, the build will try to find AMD uProf headers and libraries in common install locations (e.g. /opt or /usr/local).

§Features

  • bindgen: generate bindings at build time from system headers. Without it, the crate uses committed bindings (currently targeting AMD uProf 5.0).

Structs§

__fsid_t
max_align_t

Constants§

AMD_PROFILE_ERROR_INTERNAL
AMD_PROFILE_ERROR_INVALID_ARG
AMD_PROFILE_ERROR_MIXED_FUNCTIONS_NOT_ALLOWED
AMD_PROFILE_ERROR_VERSION_MISMATCH
AMD_PROFILE_SUCCESS
AMD_PROFILE_WARN_PROFILE_ALREADY_PAUSED
AMD_PROFILE_WARN_PROFILE_ALREADY_PENDING
AMD_PROFILE_WARN_PROFILE_ALREADY_RESUMED
INT8_MAX
INT8_MIN
INT16_MAX
INT16_MIN
INT32_MAX
INT32_MIN
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MAX
INT_FAST8_MIN
INT_FAST16_MAX
INT_FAST16_MIN
INT_FAST32_MAX
INT_FAST32_MIN
INT_LEAST8_MAX
INT_LEAST8_MIN
INT_LEAST16_MAX
INT_LEAST16_MIN
INT_LEAST32_MAX
INT_LEAST32_MIN
PTRDIFF_MAX
PTRDIFF_MIN
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINTPTR_MAX
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
WINT_MAX
WINT_MIN
_ATFILE_SOURCE
_BITS_STDINT_INTN_H
_BITS_STDINT_LEAST_H
_BITS_STDINT_UINTN_H
_BITS_TIME64_H
_BITS_TYPESIZES_H
_BITS_TYPES_H
_BITS_WCHAR_H
_DEFAULT_SOURCE
_FEATURES_H
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_SYS_CDEFS_H
__FD_SETSIZE
__GLIBC_MINOR__
__GLIBC_USE_C2X_STRTOL
__GLIBC_USE_DEPRECATED_GETS
__GLIBC_USE_DEPRECATED_SCANF
__GLIBC_USE_IEC_60559_BFP_EXT
__GLIBC_USE_IEC_60559_BFP_EXT_C2X
__GLIBC_USE_IEC_60559_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT
__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_ISOC2X
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNU_LIBRARY__
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64
__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI
__OFF_T_MATCHES_OFF64_T
__RLIM_T_MATCHES_RLIM64_T
__STATFS_MATCHES_STATFS64
__STDC_IEC_559_COMPLEX__
__STDC_IEC_559__
__STDC_IEC_60559_BFP__
__STDC_IEC_60559_COMPLEX__
__STDC_ISO_10646__
__SYSCALL_WORDSIZE
__TIMESIZE
__USE_ATFILE
__USE_FORTIFY_LEVEL
__USE_ISOC11
__USE_ISOC95
__USE_ISOC99
__USE_MISC
__USE_POSIX
__USE_POSIX2
__USE_POSIX199309
__USE_POSIX199506
__USE_POSIX_IMPLICITLY
__USE_XOPEN2K
__USE_XOPEN2K8
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__bool_true_false_are_defined
__glibc_c99_flexarr_available
false_
true_

Functions§

AMDTaskBegin
AMDTaskEnd
amdDomainCreate
amdGetLastProfileError
Returns the last error code
amdProfilePauseImpl
Instruct the profiler to stop profiling. Profiling can be resumed using amdProfileResume. \return True on success and False on failure
amdProfileResumeImpl
Instruct the profiler to resume profiling. Profiling can be paused using amdProfilePause. \return True on success and False on failure
amdProfileStrictPauseImpl
Instruct the profiler to stop profiling with blocking. Profiling can be resumed using amdProfileStrictResume. \return True on success and False on failure
amdProfileStrictResumeImpl
Instruct the profiler to resume profiling with blocking. Profiling can be paused using amdProfileStrictPause. \return True on success and False on failure
amdStringHandleCreate
amdThreadIgnore
amdThreadSetName

Type Aliases§

__blkcnt64_t
__blkcnt_t
__blksize_t
__caddr_t
__clock_t
__clockid_t
__daddr_t
__dev_t
__fsblkcnt64_t
__fsblkcnt_t
__fsfilcnt64_t
__fsfilcnt_t
__fsword_t
__gid_t
__id_t
__ino64_t
__ino_t
__int8_t
__int16_t
__int32_t
__int64_t
__int_least8_t
__int_least16_t
__int_least32_t
__int_least64_t
__intmax_t
__intptr_t
__key_t
__loff_t
__mode_t
__nlink_t
__off64_t
__off_t
__pid_t
__quad_t
__rlim64_t
__rlim_t
__sig_atomic_t
__socklen_t
__ssize_t
__suseconds64_t
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_t
__u_char
__u_int
__u_long
__u_quad_t
__u_short
__uid_t
__uint8_t
__uint16_t
__uint32_t
__uint64_t
__uint_least8_t
__uint_least16_t
__uint_least32_t
__uint_least64_t
__uintmax_t
__useconds_t
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
int_least8_t
int_least16_t
int_least32_t
int_least64_t
intmax_t
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
uintmax_t
wchar_t