Skip to content

Portable Native Client port#10

Merged
fgvanzee merged 9 commits intoflame:masterfrom
Maratyszcza:stable
Jun 20, 2014
Merged

Portable Native Client port#10
fgvanzee merged 9 commits intoflame:masterfrom
Maratyszcza:stable

Conversation

@Maratyszcza
Copy link
Copy Markdown
Contributor

  • Add new configuration "pnacl" for targeting Portable Native Client (PNaCl) - Google's technology for safely running native code in the browser. NACL_SDK_ROOT environment variable must be properly setup for the build, and PATH must include the directory with toolchain binaries ($NACL_SDK_ROOT/<OS>_pnacl/bin).
  • Provides tuned kernel sizes and kernels optimized for Portable SIMD (based on Clang's vector extensions). Portable SIMD extensions are available in Chromium 36+, when targeting earlier versions the build will use different kernel sizes and scalar code.
  • The test suite makefile is modifier to incorporate additional steps required to run PNaCl applications: linked code must be finalized (i.e. converted to a stable bitcode format, linked code is just LLVM bitcode, which is neither forward nor backward compatible with different Chromium and SDK versions) and translated to Native Client executable (unlike PNaCl, these are architecture-dependent, and can be executed with Secure ELF Loader). The makefile also got new targets run-amd64, run-x86, and run-arm to run a test binary under appropriate Secure ELF Loader.

fgvanzee added a commit that referenced this pull request Jun 20, 2014
Portable Native Client port
@fgvanzee fgvanzee merged commit 7101a8e into flame:master Jun 20, 2014
@songmaotian songmaotian mentioned this pull request Apr 22, 2016
@loveshack loveshack mentioned this pull request Mar 5, 2018
loveshack pushed a commit to loveshack/blis that referenced this pull request Sep 24, 2019
This needs fixing properly somehow, but using -O3 (at least with gcc 8.3),
we get this:

Program received signal SIGILL, Illegal instruction.
0x000000001004c660 in bli_cntx_init_power9_ref (cntx=0x103e06b0)
    at ref_kernels/bli_cntx_ref.c:456
456             for ( i = 0; i < BLIS_NUM_LEVEL3_OPS; ++i ) vfuncs[ i ] = NULL;
(gdb) bt
#0  0x000000001004c660 in bli_cntx_init_power9_ref (cntx=0x103e06b0)
    at ref_kernels/bli_cntx_ref.c:456
flame#1  0x000000001004c0a8 in bli_cntx_init_power9 (cntx=<optimized out>)
    at config/power9/bli_cntx_init_power9.c:42
flame#2  0x000000001003c85c in bli_gks_register_cntx (id=BLIS_ARCH_POWER9,
    nat_fp=0x1004c090 <bli_cntx_init_power9>,
    ref_fp=0x1004c0d0 <bli_cntx_init_power9_ref>, ind_fp=<optimized out>)
    at frame/base/bli_gks.c:373
flame#3  0x000000001003c97c in bli_gks_init () at frame/base/bli_gks.c:155
flame#4  0x000000001003cfe8 in bli_init_apis () at frame/base/bli_init.c:78
flame#5  0x00007ffff7e045a8 in __pthread_once_slow () from /lib64/libpthread.so.0
flame#6  0x00000000100492e8 in bli_pthread_once (once=<optimized out>,
    init=<optimized out>) at frame/thread/bli_pthread.c:314
flame#7  0x000000001003d138 in bli_init_once () at frame/base/bli_init.c:104
flame#8  bli_init_auto () at frame/base/bli_init.c:54
flame#9  0x0000000010011300 in cdotc_ (n=<optimized out>, x=<optimized out>,
    incx=<optimized out>, y=<optimized out>, incy=<optimized out>)
    at frame/compat/bla_dot.c:89
flame#10 0x0000000010002a48 in check2_ (sfac=0x103d14dc <sfac>)
    at blastest/src/cblat1.c:529
flame#11 0x0000000010001ef4 in main () at blastest/src/cblat1.c:112
Aaron-Hutchinson added a commit to sifive/sifive-blis that referenced this pull request Apr 4, 2023
GerHobbelt pushed a commit to GerHobbelt/blis that referenced this pull request Jul 15, 2025
…me#10)

- Implemented multithreading framework for the DGEMV API on Zen architectures. Architecture specific AOCL-dynamic logic determines the optimal number of threads for improved performance.

- The condition check for the value of beta is optimized by utilizing masked operations. The mask value is set based on value of beta, and the masked operations are applied when the vector y is loaded or scaled with beta.

AMD-Internal: [CPUPL-6746]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants