Adventures in SIMD Thinking (Part 1 of 2)
#undef __OPTIMIZE__ #define KEWB_FORCE_INLINE inline #endif namespace simd { using rf_512 = __m512; using ri_512 = __m512i; using msk_512 = uint32_t; ... }Copyright © 2020 Bob Steagall P U T I N G 4 CppCon 2020 - Adventures in SIMD Thinking Function load_value() KEWB_FORCE_INLINE rf_512 load_value(float fill) { return _mm512_set1_ps(v); } 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2 M P U T I N G 6 CppCon 2020 - Adventures in SIMD Thinking Function load_from() KEWB_FORCE_INLINE rf_512 load_from(float const* psrc) { return _mm512_loadu_ps(psrc); } m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 0 码力 | 88 页 | 824.07 KB | 5 月前3Changing Legacy Code: With Confidence
#endifDiscovery Testing proc_rf_msg(buff, true, false, 7); What does this function do? proc_rf_msg(uint8* buff, bool is_full, bool is_actvty, size_t sz);Discovery Testing void hndl_new_pkt(rf_pkt* pkt, size_t size) ... proc_rf_msg(buff, true, false, 7); proc_rf_msg(nullptr, false, false, 0); activity activity; activity.start_loc = {32.2226, 110.9747}; activity.end_loc = {39.8175, 104.7509}; proc_rf_msg(&activity proc_rf_msg(&activity, true, true, sizeof(activity)}; ... } void proc_rf_msg(void* buf, bool is_verified, bool is_activity, size_t buf_size) { ... if(is_activity) { activity* activ = (activity)buf; int activity_distance0 码力 | 114 页 | 982.54 KB | 5 月前3Adventures in SIMD Thinking (Part 2 of 2)
KernelSize - KernelCenter - 1; rf_512 prev; //- Bottom of the input data window rf_512 curr; //- Middle of the input data windows rf_512 next; //- Top of the input data window rf_512 lo; //- Primary work work data register, used to multiply kernel coefficients rf_512 hi; //- Upper work data register, supplies values to the top of 'lo' rf_512 sum; //- Accumulated value ...Copyright © 2020 Bob Steagall KernelCenter> void avx_convolve(float* pdst, float const* pkrnl, float const* psrc, size_t len) { ... rf_512 kcoeff[KernelSize]; //- Coefficients of the convolution kernel //- Broadcast each kernel coefficient0 码力 | 135 页 | 551.08 KB | 5 月前3Boosting Software Efficiency
detected anymore. Problems:PROBLEMS & SOLUTIONS 125 RF receiver UART (Serial port) BACKEND READy concentratorPROBLEMS & SOLUTIONS 126 RF receiver UART (Serial port) BACKEND READy concentrator this silence issue – and I realized the RF receiver reset itself.PROBLEMS & SOLUTIONS 136 Junk Frame 1 Frame 2 Frame 3 Frame 4 Frame 5 Frame 6 Frame 7 Frame 8 RF receiver reset As a result, the READY0 码力 | 180 页 | 1.65 MB | 5 月前3Just-In-Time Compilation: The Next Big Thing
USER=John ./cpp_injection -> John USER="\";std::system(\"rm -rf /\");\"" ./cpp_injection // []{ std::cout << "";std::system("rm -rf /");""; } -> 🔓 5 . 11HOW IT WORKS? - DETAILS HOW IT WORKS? - DETAILS0 码力 | 222 页 | 5.45 MB | 5 月前3Back to Basics: Pointers
return a pointer from a function ○ https://isocpp.github.io/CppCoreG uidelines/CppCoreGuidelines#Rf-re turn-ptr ○ (Careful!) 120Bug Mitigate with a Wrapper Class ● We can build our own pointer class0 码力 | 152 页 | 5.61 MB | 5 月前3C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南
-DQt5_DIR=D:/Qt5 # 只需要第一次指定好, • cmake -B build # 以后第二次运行可以省略! • rm -rf build # 只有清理了 build 以后, • cmake -B build -DQt5_DIR=D:/Qt50 码力 | 56 页 | 6.87 MB | 1 年前3Modern C++ Tutorial: C++11/14/17/20 On the Fly
$(C) -c $(SOURCE_C) $(CXX) $(SOURCE_CXX) $(OBJECTS_C) $(LDFLAGS_COMMON) -o $(TARGET) clean: rm -rf *.o $(TARGET) Note: Indentation in Makefile is a tab instead of a space character. If you copy this0 码力 | 92 页 | 1.79 MB | 1 年前3现代C++ 教程:高速上手C++11/14/17/20
$(C) -c $(SOURCE_C) $(CXX) $(SOURCE_CXX) $(OBJECTS_C) $(LDFLAGS_COMMON) -o $(TARGET) clean: rm -rf *.o $(TARGET) 注意:Makefile 中的缩进是制表符而不是空格符,如果你直接复制这段代码到你的编辑器中, 制表符可能会被自动替换掉,请自行确保在 Makefile 中的缩进是由制表符完成的。0 码力 | 83 页 | 2.42 MB | 1 年前3Conan 1.17 Documentation
can clear the build folder and build another. For example, changing the build type to Debug: $ rm -rf * $ conan install ../example-poco-timer -s build_type=Debug $ cmake ../example-poco-timer -G "Visual lockfile with the changes $ cd .. $ conan graph update-lock release build_server_folder/release $ rm -rf build_server_folder 7. compute again the build-order of packages, if not empty, goto 1 $ conan graph in conan info and install, restricted further installs with different case in Windows, without rm -rf ~/.conan/data/pkg_name #5480 • Bugfix: The lock files mechanism now allows to update a node providing0 码力 | 567 页 | 4.53 MB | 1 年前3
共 80 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8