Moderators tomnic Posted June 1, 2021 Moderators Share Posted June 1, 2021 (edited) Ciao a tutti, al solito non riesco a stare fermo nel cercare di risolvere i problemi di macOS con le cpu AMD in svariate app che usano tali librerie di calcolo (Suite Adobe, Discord, Matlab, e alcune release di DaVinci Resolve) e sono incappato in questo articolo: https://danieldk.eu/Posts/2020-08-31-MKL-Zen.html La soluzione proposta per usare il codice ottimizzato x86_64 Intel pur con cpu AMD è valida e perfettamente funzionante in Linux come si legge, e allora mi sono chiesto: perché non provare ad adattarla a macOS così da cercare di ovviare ai problemi di compatibilità rimasti? Io in programmazione sono a livello pippone ma qualcosa son riuscito a tirar fuori dal cilindro!!! Per prima cosa da terminal ho installato brew, "ponte" tra il mondo linux e macOS /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" In seguito ho installato GCC usando brew secondo questa miniguida: https://discussions.apple.com/thread/8336714 Poi ho compilato come libreria dinamica per macOS questo semplice programmino in C con gcc, citato in tale link: int mkl_serv_intel_cpu_true() { return 1; } il comando che ho usato per la compilazione è, ipotizzando che il programmino in c di cui sopra sia stato salvato in un file testuale fakeintel.c: gcc -dynamiclib /Users/tomnic/Desktop/fakeintel.c -o libfakeintel.dylib ...ed ho ottenuto la dylib che ho chiamato libfakeintel.dylib (che allego per comodità). Leggo che l'equivalente in macOS di quello che nell'articolo è la variabile di ambiente LD_PRELOAD è DYLD_INSERT_LIBRARIES (http://web.archive.org/web/20121108142727/https://blogs.oracle.com/DatabaseEmporium/entry/where_is_ld_preload_under). Possiamo quindi fare in modo che questa libreria venga iniettata in ogni eseguibile unix temporaneamente tramite questo comando: launchctl setenv DYLD_INSERT_LIBRARIES /Users/tomnic/Desktop/libfakeintel.dylib Per comodità io tengo sul desktop la libreria suddetta, modificate la vostra path in accordo a dove la piazzerete, se vorrete aiutarmi ovviamente 😉 Io sto provando Adobe After Effects ultimissima versione, la funzione è quella di camera tracking, funzione per cui i soliti trick noti non funzionano più. I risultati ad ora sono "promettenti": 1. Senza libreria personalizzata il tracking si blocca allo 0% dell'analisi per far poi schiantare il programma in caso di cancellazione del comando; 2. Con la libreria personalizzata il tracking parte e completa l'analisi al 100% tuttavia poi il programma crasha miseramente e nel log leggo il seguente errore: <1641966> <Tracciatore videocamera 3D Profile Data> <5> Analysis Started (Tutorial - Tracking.mov) selector.max_count: 500.000000 selector.spacing: 29.000000 selector.half_winx: 15.000000 selector.half_winy: 15.000000 selector.border: 12.000000 selector.threshold: 0.010000 selector.min_eig: 1.000000 selector.max_eig: 6000.000000 selector.presmoothing: 1.000000 selector.presmooth_factor: 0.100000 selector.eig_ratio_threshold: 15.000000 selector.down_sample_factor: 1.000000 tracker.max_iterations: 25.000000 tracker.tolerance_translation: 0.100000 tracker.tolerance_affine: 0.050000 tracker.pyramidal_levels: 5.000000 tracker.half_win_x: 15.000000 tracker.half_win_y: 15.000000 tracker.color_correction_translation: 0.000000 tracker.color_correction_affine: 2.000000 tracker.affine_verification: 1.000000 tracker.tolerance_color_lambda: 0.050000 tracker.tolerance_color_delta: 1.000000 tracker.tolerance_min_correlation: 0.700000 tracker.tolerance_primary_color_threshold: 5.000000 tracker.kill_tracks_shorter_than: 5.000000 <1641966> <StateBinaryConverter> <5> solveCompleteB = 0 <1642537> <StateBinaryConverter> <5> solveCompleteB = 0 <1641966> <AnalyzerServer> <5> Create Temp Project: /var/folders/qw/wdfjy1tx0z3569g9v0gygxw80000gn/T/tmpAEProject-569fa6b4-c9fb-43f2-a2a4-5ea9f85fde5b.aep <1641966> <AnalyzerServer> <5> Start 7fa4a8b1-fb7a-4570-b4f7-fc33bfce2803 <1641966> <Tracciatore videocamera 3D Profile Data> <5> Analysis Time (seconds) : 5,22 (Tutorial - Tracking.mov) <1641966> <AnalyzerServer> <5> End 7fa4a8b1-fb7a-4570-b4f7-fc33bfce2803 <1641966> <AnalyzerServer> <5> Delete Temp Project: /var/folders/qw/wdfjy1tx0z3569g9v0gygxw80000gn/T/tmpAEProject-569fa6b4-c9fb-43f2-a2a4-5ea9f85fde5b.aep <1642537> <StateBinaryConverter> <5> solveCompleteB = 0 [19817:1642194:20210530,203115.482236:WARNING process_memory_mac.cc:93] mach_vm_read(0x7ffeefbff000, 0x2000): (os/kern) invalid address (1) [19817:1642194:20210530,203115.593841:WARNING mach_o_image_segment_reader.cc:173] section.segname incorrect in segment __TEXT, section ??? ??? ??? ???, ??? ??? ??? ??? 0/11, load command 0x19 0/22, module /Applications/Adobe After Effects 2021/Adobe After Effects 2021.app/Contents/Frameworks/LogSession.framework/Versions/A/Resources/libConfigurer64.dylib, address 0x12f534000 LaunchHeadlightsCrashProcessor result: -11 [19817:1642194:20210530,203119.056962:WARNING crash_report_exception_handler.cc:346] UniversalExceptionRaise: (os/kern) failure (5) [1] + illegal hardware instruction DYLD_INSERT_LIBRARIES=/Users/tomnic/Desktop/libfakeintel.dylib ...mi pare di capire che l'errore può stare nel codice della mia libreria che esegue del codice illegale... forse devo compilarla con g++? Forse devo includere altro codice nel miniprogrammino C di cui sopra? Vi va di aiutarmi perché la direzione non pare totalmente sbagliata? Per ripristinare l'hackintosh al normale funzionamento basta riavviare, non abbiate paura 😉 libfakeintel.dylib.zip Edited June 1, 2021 by tomnic correzioni 3 Link to comment Share on other sites More sharing options...
Supervisor fabiosun Posted June 1, 2021 Supervisor Share Posted June 1, 2021 Grazie @tomnicho provato la libreria con AE 2021 e confermo i risultati raggiunti da tomnic interessante e speriamo in ulteriori sviluppi ed aiuti da chi mastica di queste cose Link to comment Share on other sites More sharing options...
Moderators tomnic Posted June 2, 2021 Author Moderators Share Posted June 2, 2021 Ho aggiunto un'altra variabile basandomi su questo articolo: http://www.goldsborough.me/c/low-level/kernel/2016/08/29/16-48-53-the_-ld_preload-_trick/ launchctl setenv DYLD_FORCE_FLAT_NAMESPACE 1 E facendo un progetto da zero e riapplicando il camera tracking AE non mi crasha. Vediamo se la cosa è stabile 1 Link to comment Share on other sites More sharing options...
Moderators tomnic Posted June 2, 2021 Author Moderators Share Posted June 2, 2021 Intanto con Photoshop 22.3.1 (CC 2021) grazie solamente a: launchctl setenv DYLD_INSERT_LIBRARIES /Users/tomnic/Desktop/libfakeintel.dylib funziona di default: - Apertura di file JPG senza sovrascrivere cameraraw (io ho l'ultima installata, la 13.2); - Filtro fluidifica; - Strumento seleziona oggetto. Allego video che illustra tali funzioni! Registrazione schermo 2021-06-02 alle 22.31.15 low.mov Questo è @fabiosun che è commosso dai progressi!!! 2 Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted June 4, 2021 Administrators Share Posted June 4, 2021 Geniale @tomnic! 1 Link to comment Share on other sites More sharing options...
Moderators carlo_67 Posted June 5, 2021 Moderators Share Posted June 5, 2021 Il 2/6/2021 at 22:45, tomnic ha scritto: Intanto con Photoshop 22.3.1 (CC 2021) grazie solamente a: launchctl setenv DYLD_INSERT_LIBRARIES /Users/tomnic/Desktop/libfakeintel.dylib funziona di default: - Apertura di file JPG senza sovrascrivere cameraraw (io ho l'ultima installata, la 13.2); - Filtro fluidifica; - Strumento seleziona oggetto. Allego video che illustra tali funzioni! Registrazione schermo 2021-06-02 alle 22.31.15 low.mov 7 MB · 2 download Questo è @fabiosun che è commosso dai progressi!!! ottimo😃 Registrazione schermo 2021-06-05 alle 09.10.19.mov 1 Link to comment Share on other sites More sharing options...
Moderators carlo_67 Posted June 5, 2021 Moderators Share Posted June 5, 2021 Il 2/6/2021 at 22:45, tomnic ha scritto: Intanto con Photoshop 22.3.1 (CC 2021) grazie solamente a anche photoshop 2020 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now