Tumgik
#codepath
lostcoder-blog · 7 months
Text
CodePath class start this weekend! I’m excited to be taking a course to help me learn react and keep building on what I know. I feel like their courses have helped me so much outside of school and motivate me to keep learning and explore building projects!
4 notes · View notes
frog707 · 1 year
Text
error rates in software
If somebody asked me how many bugs there are in my Heart library, the honest answer would be that I don't know. Currently the library's GitHub issue tracker shows no open issues. The library is about 21000 lines of code (excluding blank/comment lines), and most of it has never been systematically tested. An optimistic estimate would be 1 bug per 100 lines of code, so about 200 bugs. (A more realistic estimate might be 400-500 bugs.)
How can I justify publishing a piece of software with hundreds of bugs? Well, mainly because I think it satisfies a need. I use it every day. And when I find a bug, I fix it promptly. I haven't encountered a bug in the library since January, and the bug in question was discovered by code inspection, not testing. To me, Heart seems like good, reliable software.
How is it possible for a library with hundreds of bugs to appear reliable? Well, I started writing Heart in 2017, and it hasn't changed much in the past year, so the commonly used codepaths have been heavily tested. While it's entirely possible for software to exhibit bugs that pass unnoticed by the user, it's likely most of the remaining bugs occur in unusual situations.
A user other than myself might use the Heart library differently, exercising code I rarely (or never) use. To them, Heart might not seem so reliable.
Now according to the article below (citing Wired magazine from 2012), a modern high-end car "has" about 10 million lines of code.
It's unclear whether all that software runs on the car itself, or if that number includes software used to design and test the car. During the 1990s, Microsoft applications sold to the public averaged about 5 defects per 1000 lines of code, which was remarkably good IMHO. I can't imagine the software quality of a Lexus is any better than that. So a modern car probably has at least 50000 software defects.
It's mind boggling.
Even if all that code is actually running on the car, it doesn't mean the car is unsafe or unreliable. The Wired article hints that most of that code is for entertainment, not safety or reliability. Still, there are certainly bugs in every large software system, and the more you deviate from the conditions under which the software was tested, the more likely you are to encounter them.
Are there safety-critical software bugs in every new car? You bet there are! Caveat emptor.
2 notes · View notes
remotejobslisting · 1 year
Text
Senior Ruby Engineer at CodePath
CodePath is a national non-profit that is reprogramming higher education to create the most diverse generation of software engineers, CTOs, and founders. We deliver industry-vetted courses and career support centered on the needs of Black, Latino/a, Indigenous, and low-income students. Our students train with senior engineers, intern at top companies, and rise together to become the tech leaders…
Tumblr media
View On WordPress
0 notes
carniceria · 2 years
Text
bro im so pissed i could do this codepath thing but its gonna conflict with my stats class idk if i should just drop the course or give up the application
0 notes
longlevel · 2 years
Text
Install firefox
Tumblr media
#Install firefox for free#
#Install firefox how to#
#Install firefox for mac#
#Install firefox install#
#Install firefox update#
Use the system-wide dev-libs/libevent instead of bundled Use the system-wide media-libs/libjpeg-turbo instead of bundled Use the system-wide dev-libs/icu instead of bundled Use the system-wide media-libs/harfbuzz and media-gfx/graphite2 instead of bundled Use the system-wide media-libs/dav1d and media-libs/libaom library instead of bundled !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occurĮnable support for the media-sound/sndio backend Use media-libs/openh264 for H264 support instead of downloading binary blob from Mozilla at runtimeĪdd support for profile-guided optimization for faster binariesthis option will double the compile timeĮnable support for remote desktop and screen cast using media-video/pipewire If you want to get meaningful backtraces see ĭisable EME (DRM plugin) capability at build timeĪllow Gecko Media Plugins (binary blobs) to be automatically downloaded and kept up-to-date in user profilesĪctivate default security enhancements for toolchain (gcc, glibc, binutils)įorce-enable hardware-accelerated rendering (Mozilla bug 594876)Īdd support for the JACK Audio Connection Kit
4.6 Windows decorations missing in Fluxbox since FF-91.3.0Įnable dbus support for anything that needs it (gpsd, gnomemeeting, etc)Įnable extra debug codepaths, like asserts and extra output.
4.4 Screen tearing / stuttering smooth scrolling.
4.3 Lack of sound (www-client/firefox-bin).
2.8 Disable enforced digital signatures verification in Firefox >=48.
2.4 Bigger scrolling regions for Up/Down.
#Install firefox for free#
Install Firefox for free and safe web browsing. You can follow the easy instructions above to download Firefox for Mac. Start Firefox in safe mode to see if it works well. You may disable the installed plugins in Firefox to see if it can help fix Firefox not working well issue.įix 7.
#Install firefox update#
You can click the three-line icon at the upper-right corner of Firefox, click Help -> About Firefox to check and update Firefox version.įix 6. Update Mozilla Firefox to the latest version. In Firefox, you can click Library -> History -> Clear Recent History, select the time range, select Cache and Cookies, click Clear Now button.įix 5. You can try to clear cookies and caches of Firefox to fix some Firefox issues. Uninstall Firefox and reinstall it.įix 4. Restart your Mac computer and try to launch Firefox again.įix 3.
#Install firefox how to#
Learn how to force quit an app on Mac.įix 2. If Firefox freezes on your Mac, you can force close it and launch again. If the Firefox won’t start or is not responding on your Mac computer, you may try the solutions below to fix this problem.įix 1. Read More Some Tips to Fix Firefox Won’t Open or Not Responding on Mac For easy access, you can drag Firefox to the Dock, and you can click its icon on the Dock to launch it. Then you can find and open Firefox in Applications folder in Finder window. Drag the Firefox app icon to the Application folder on Mac. Then you can click Downloads icon and click the Firefox.dmg installation file to open it. Wait until it finishes downloading the Firefox installation file. Tip: If you want to manually choose the preferred system and language to download Firefox for Mac, you can visit the Firefox language and system selection page. The Firefox program will auto detect your computer OS and language and recommend the right version of Firefox for you.
#Install firefox for mac#
Open Safari or Chrome and visit Firefox for Mac download page. To download Mozilla Firefox web browser for your Mac computer, you need to use another browser to access Firefox website, for instance, Apple Safari, Google Chrome. Read More How to Download Firefox for Mac – Quick Guide Make sure your Mac computer meet the system requirements for downloading and installing Firefox. Hardware requirements: Macintosh computer with an Intel x86 processor.
#Install firefox install#
You can check below for how to download and install Mozilla Firefox for Mac devices. If you use a Mac, you can get Firefox for Mac. Among all of the open-source free browsers, Firefox is popular choice.
Some Tips to Fix Firefox Won’t Open or Not Responding on MacĪn easy-to-use, fast and full-featured browser allows us to access content on the internet quickly and safely.
How to Download Firefox for Mac – Quick Guide.
For more computer solutions and useful free utilities, you can go to MiniTool Software. If Firefox won’t open on Mac, this post also offers some simple tips to fix the issue. This tutorial explains how to fast download and install Firefox for Mac computer. Firefox, a popular free browser, is available on Mac, Windows, Android, iOS, Linux.
Tumblr media
0 notes
bananaeazy · 2 years
Text
How to get opengl 4.3 to work for doom
Tumblr media
#HOW TO GET OPENGL 4.3 TO WORK FOR DOOM DRIVERS#
#HOW TO GET OPENGL 4.3 TO WORK FOR DOOM FULL#
#HOW TO GET OPENGL 4.3 TO WORK FOR DOOM DRIVERS#
Hopefully this new stereo support isn't an unintentional release by NVIDIA hopefully they won't yank it in the next driver version! (I also tried the beta 314.14 and 314.21 drivers and my test program still works in stereo for both, though still only in full-screen. "Added Quad-buffered OpenGL Stereo support for Windows 8." However, there is a cryptic line in the 314.07 "Quadro and NVS Notebook Drivers" release notes. There's no mention of quad-buffered OpenGL stereo support having been added in the 314.07 GeForce driver's release notes. So it looks like this stereo support was introduced in 314.07. I then tested previous driver versions: neither 310.70 nor 310.90 worked in stereo.
#HOW TO GET OPENGL 4.3 TO WORK FOR DOOM FULL#
So it looks like the GeForce stereo only works for OpenGL programs explicitly written for stereo and only if full screen. - Stereo, full-screen: 3D Vision works!.- Stereo, windowed: 3D Vision does not work.- Mono, windowed: 3D Vision Automatic does not work.To investigate further, I created four test versions of the IperS program: Note: My display had to be set to 120Hz before starting the program in order for stereo to work. Seeing the Source Engine doesn’t yet support DX10 or DX11, and will continue to support OS X and possibly Linux going forward, OpenGL 3.x/4.x would be a prime candidate here for their next-gen codepath across all platforms with the existing DX9.0c and OpenGL 2.1 codepaths retained for legacy support and SM2.0 and below discarded. I was stunned when the "3D" light on my notebook came on and found that it was indeed displaying in stereo 3D! I was going to investigate doing OpenGL to Direct3D to 3D Vision per OpenGL to Direct3D to 3D Vision: yes, it works great!, but I wanted to start with a simple example so I adapted the "HWFlipping" version of the "IperS” sample from an old Stereoscopic OpenGL Tutorial. Here's an interesting development: quad-buffered OpenGL stereoscopic 3D is working with 3D Vision on my GeForce 680M laptop!
Tumblr media
0 notes
dulce-studies · 4 years
Text
Winter Studying Challenge
Tumblr media
12/11/20 Day 11: 11th December - What is a favourite family Christmas/holiday memory that has stuck with you through the years? Why? ❄️
A favorite family Christmas memory would honestly be when I got my first iPhone. Under the tree there was a small present and inside of this little box was a piece of paper that said “Congratulations, you won an iPhone!” It was really cute and then I later went to the store with my mum to pick out my new phone.
Day 10 Goals:
🔏Implement a search bar in the app
🔏Watch videos on how to implement search bar
Goals completed! For the search bar my teammate was actually able to implement in so I asked her to show me how she did it and her thought process after demo day. All of the videos and documentation that I read was not helpful at all! Well they were helpful, but didn’t help my solve my problem because it wasn’t just a search bar, but having to implement an API and a network request that worked in tandem with that search bar and the movie/show results.
Day 11 Goals:
🖋Finish code for MovieDetailsViewController
🖋Work on Demo Day presentation- share with group members
🖋Practice giving the presentation (via Zoom w/ screen share), write out a script to get my thoughts on paper
I’m also starting the 100 days of productivity and I think I’ll post those at night so I can talk abt what I did!
23 notes · View notes
Video
undefined
tumblr
TA Position - CodePath Interview for step 2
0 notes
cyle · 2 years
Note
Hi Cyle. I just saw this on my dash:
Tumblr media
I know a lot of people asked for a way to not see which filtered tags a filtered post contains but I am sad that I can't see it because I have two different reasons for filtering: 1. things I don't want to see at all and 2. things I can see with a little bit of a warning at first.
So now it's unclear to me whether I should check out this blog tumblr suggested or not.
(Also, it is kinda funny (lighthearted!) that tumblr even suggest something that ends up being filtered. ^^' "Oh you're filtering this? Look, this might interest you.)
this looks like a bug to me, it should show what tags triggered the filter. would you mind filing this as a Support ticket? may be worth including in that ticket "maybe also it's weird to use a post with a filtered tag as a recommendation"...
also yeah, re: recommending something that may contain filtered tags... the actual recommended blogs "feed" that powers those blog carousels doesn't actually "know" about the post it's going to use in the preview until after we grab them, they're disconnected systems, so we end up with this kind of weird situation where the "end" of the codepath knows to cover this with a filter, but the "start" doesn't. a great example of what can happen in a very huge shared codebase where the person who's building the recommendation engine may have nothing to do with the person who's redesigning the visual layout of the recommendation.
Tumblr media
20 notes · View notes
somnilogical · 4 years
Text
no justice no peace
I can't believe I'm here. No, I just can't believe it. It was always this peaceful here. When they burned 2,000 people... Jews... every day, it was just as peaceful. No one shouted. Everyone went about his work. It was silent. Peaceful. Just as it is now.
-shoah
years ago i said this phrase at a protest against trans oppression. other people were saying it and it seemed true. but like it is true.
what is justice?
as far as i can tell, justice is the timeless part of good optimization. (it exploits acausal correlations between embeddings.)
it has a separate name from "optimization for good ends" because humans have a hard time thinking of timeless optimization for good ends as contiguous with optimization for good ends.
if someone points a gun at your chest, presses you against the ground, and painfully twists your arms behind your back for a nonviolent protest against injustice, that isnt peaceful. why? because they are damaging your body, impeding your freedom of motion.
if someone leaves a sign up at a pool that its WHITE ONLY and everyone complies with this, is that peaceful? no, it is part of a system of disenfranchisement which ultimately aims to kill black people. if anyone did defy this sign, they would violently suppress them.
if there cant be peace while there is injustice in the land, what is peace?
the absence of injustice.
what is the absence of injustice?
maybe some people want to go "you people have nice hair and skin and dont have muscles or weapons or political leverage with anyone around here who does, id like to cut it all off to make a pretty purse" and then kill you all. thats pretty unjust. an absence of injustice would be for someone to avenge their deaths and kill the person who killed for no just cause, lowering the measure where they did this in the first place.
if peace is to be used for any set of codepaths, instead of just the absence of one person damaging another's body; where cops pointing guns at people and shouting orders isnt 'peaceful' despite the fact that they are not 'damaging' your body if you sim out how the battle would go in your head and avoid getting shot; the codepaths it should reference is all optimization for good ends.
7 notes · View notes
sophiakc · 8 years
Photo
Tumblr media
D E S I G N I N G    T O    R E D U C E    
C O G N I T I V E    O V E R L O A D
Product Design and iOS development
— Sketches, Wireframes, User Interview, Interaction Design, Onboarding, iOS (Swift) animation and Development
〰️    C o n t e x t    〰️
About
Memoir is an app that enables you to unload your thoughts, whenever you want throughout your day. You just had a delicious meal with a loved one? Write how delighted you feel. You just finished a meeting and you are upset about the outcomes? Throw few notes.
All you have to do is: open the app, write down few words, go back to your journey! All your notes are securely saved within your calendar, findable anytime through keywords and the calendar timeline.
Use scenarios
Feeling upset when going
〰️    C h a l l e n g e    〰️
Tumblr media Tumblr media
Back-end
Memoir has been programmatically animated with Swift (iOS) as a team project for CodePath iOS for Designers. Memoir uses iCal SDK to send text entries.
UX/UI Design
Mental model as a user: What’s the UI components of the existing experience of writing a diary, on a physical notebook?
When I want to write a new note, I go to the next blank page on the right.
When I want to read my previous notes, I go to the left pages. The more I turn pages, the further it goes backward in time.
The bookmark enables to go straight to the last page I’ve written.
Tumblr media
UI Gesture based-only
Inspired by the UI of other apps and for the sake of implementing fun and advanced iOS features, we considered the following challenge: how to navigate without any call to actions and relying entirely on gestures?
This implies a coherent mental model based on actual use of the app.
User Interviews
Why do you hold a diary? How does it help you in your life?
Why don’t you hold a diary? What do you do instead?
Tumblr media
Demo day team presentation
Tumblr media
SEE VIDEO OF THE DEMO
SEE GITHUB REPOSITORY
0 notes
tumsozluk · 2 years
Text
CodePath announces Google support to help democratize computer science education for underrepresented students across Chicago
CodePath announces Google support to help democratize computer science education for underrepresented students across Chicago
Chicago, September 1, 2022 /PRNewswire/ — Google is providing funding as part of a national plan to expand access to computer science education for more than 11 million students in the United States. code paththe job of Chicago with $500,000 Grants to continue expanding opportunities to the nation’s most competitive tech jobs in underrepresented communities. With the recent influx of technology…
Tumblr media
View On WordPress
0 notes
elleryapple90 · 3 years
Text
How to Succeed in Tech if You’re on a Nonlinear Career Path
Michael Ellison, the founder and CEO at CodePath offers advice to those who are underrepresented or have a non-linear career path. from knowledge.website http://knowledge.website/communication/how-to-succeed-in-tech-if-youre-on-a-nonlinear-career-path
from Knowledge Website https://knowledgewebsite.tumblr.com/post/668242515794821120 from Gianna Jordan’s Blog https://giannajordan91.tumblr.com/post/668245962459889664 from Logan Eugene’s Blog https://loganeugene91.tumblr.com/post/668250403522117632 from Marilyn Jeremy’s Blog https://marilynjeremy91.tumblr.com/post/668253669303730176 from Vivian Butler's Blog https://vivianbutler91.tumblr.com/post/668256211988365312
0 notes
abangtech · 4 years
Text
Reddit promises to stop accessing user clipboards after being exposed by iOS 14
iOS 14 is only in developer beta, but it’s already exposing just how often some applications are checking users’ clipboards. The latest app to be scrutinized for this practice is Reddit, but the company says a forthcoming update will remove the code in question.
One of the new privacy features in iOS 14 is a banner alert that appears when an app is pasting from the clipboard and therefore able to read the contents of a clipboard. A video shared on Twitter by Don Morton shows that the Reddit app triggers this notification every time the keyboard is pressed in the app.
In a statement to The Verge, a Reddit spokesperson explained that this is due to a codepath that checks for URLs then suggests a post title. The company empathized that pasteboard contents are not stored or sent elsewhere and that an update coming on July 14 will remove the code completely:
“We tracked this down to a codepath in the post composer that checks for URLs in the pasteboard and then suggests a post title based on the text contents of the URL,” a Reddit spokesperson wrote in an email to The Verge. “We do not store or send the pasteboard contents. We removed this code and are releasing the fix on July 14th.”
As we’ve explained before, however, there is a new API available to developers that will help reduce the number of times a clipboard paste notification is displayed. This means an app could check to check the clipboard for text that looks like a URL.
If a URL is found, the app could copy the contents and perform whatever task it needed to perform — such as generating a post title like in Reddit. This would still trigger the iOS 14 notification, but if the test was false and the pasteboard does not contain a URL, the app could do nothing and avoid triggering endless clipboard notifications.
This API will help developers improve the experience in their app while also retaining functionality and protecting privacy. What remains to be seen is which applications will adopt the API versus which will simply avoid accessing the clipboard at all. You can learn more in Don Morton’s full blog post here.
Read more:
FTC: We use income earning auto affiliate links. More.
Check out 9to5Mac on YouTube for more Apple news:
youtube
Source
The post Reddit promises to stop accessing user clipboards after being exposed by iOS 14 appeared first on abangtech.
from abangtech https://abangtech.com/reddit-promises-to-stop-accessing-user-clipboards-after-being-exposed-by-ios-14/
0 notes
Text
Reddit says it’s fixing code in its iOS app that copied clipboard contents.
Tumblr media
Reddit says it is releasing a cure for a bit of code that replicated contents out of customers' clipboards. Users at a beta edition of iOS 14, that sends an alarm when an program attempts to replicate clipboard info, reported getting the alarms together with each keystroke from Reddit's iOS program.
"We tracked this down to some codepath in the article composer that assesses URLs from the pasteboard then proposes a post name depending on the text contents of this URL," that a Reddit spokesperson wrote in an email to The Verge. "We don't send or store the pasteboard contents.
User Donald Morton submitted a movie of this problem to Twitter:
The privacy feature in iOS 14, that remains in a limited beta for most programmers, has shown several programs engaging in clipboard replicating in recent weeks. LinkedIn stated Friday it'd halt the practice, describing its program was doing to carry out an"equality test" between what a person is typing and what is within their clipboard.
 "We do not carry or transmit the clipboard contents," LinkedIn technology VP Erran Berger composed on Twitter. The company did not explain why the clinic was set to start with.
TikTok, that has confronted complaint for privacy issues on its own program in years past was known for comparable clipboard-copying behaviour past week. The business said the clinic was a part of an"anti-spam" attribute and that it had been stopped.
A public beta of iOS 14 is anticipated within the upcoming few weeks and it is very likely the clipboard privacy attribute may reveal more programs engaged within this suspicious behaviour.
0 notes
componentplanet · 5 years
Text
How to Bypass Matlab’s ‘Cripple AMD’ Function, Restore Full Performance to Ryzen, Threadripper CPUs
One of the difficulties of CPU reviews is that they represent the best time to evaluate new features and software — while simultaneously representing the worst possible time to attempt to do a deep dive on any specific piece of software. Sometimes, reviewers adopt tests because a vendor has recommended them, without considering whether the test will perform identically on an Intel versus an AMD system. Sometimes, the vendor fails to disclose that an application is compiled in a manner that will lead to tests running much faster on one platform as opposed to another. This is one of those times.
When I published Matlab data in our Threadripper 3970X / Cascade Lake X joint review, it was because Intel had recommended this test and workload as a showcase for Intel’s HEDT desktop line. I specifically asked for recommendations, hoping that Intel would have some applications in mind that would show relatively light scaling at or above the 18-core mark with AVX-512 integration. Even professional apps don’t scale perfectly forever, and I knew going into this review that there was going to be a performance “island” for Intel to stand on at the intersection of higher clocks and lightly threaded applications. “Lightly,” in this context, should be understood to mean “apps that don’t scale all the way to 64 threads” as opposed to “apps that don’t scale past 4-8 threads,” which is usually what we mean when we call an app lightly threaded. It was obvious that Threadripper 3960X and 3970X were going to beat the 10980XE in every app that could scale to match their thread counts, especially in the 3970X’s case. With that as a given, it was worth exploring the areas that had historically been the strongest for Intel to see how performance would compare.
Intel recommended four workloads for this review: AIXPRT, Adobe Premiere Pro, Matlab, and Sony Catalyst. I wanted to spend more time evaluating AIXPRT before I started running it on systems, which made it less appealing. Adobe now requires that you provide them with a credit card in order to launch a 7-day free trial of their software, so that’s right out. I opted to test Matlab and Sony Catalyst. I was not aware of this investigation and report by redditor Nedflanders1976, made some eight days ago.
He writes:
Matlab runs notoriously slow on AMD CPUs for operations that use the Intel Math Kernel Library (MKL). This is because the Intel MKL uses a discriminative CPU Dispatcher that does not use efficient codepath according to SIMD support by the CPU, but based on the result of a vendor string query. If the CPU is from AMD, the MKL does not use SSE3-SSE4 or AVX1/2 extensions but falls back to SSE1 no matter whether the AMD CPU supports more efficient SIMD extensions like AVX2 or not.
There’s a way to disable this behavior in Matlab. Flanders writes. If you are a Windows user with Matlab installed, create a batch file with the following data:
@echo off set MKL_DEBUG_CPU_TYPE=5 matlab.exe
Start the application using this batch file. You can make this permanent by entering: “MKL_DEBUG_CPU_TYPE=5” into the System Environment Variables. Nedflanders1976 also has details on how to perform this task for Linux. We played around with testing some variant ideas, including setting “MKL_DYNAMIC=FALSE” and “MKL_NUM_THREADS=64” to see if these settings would improve performance. They did not. Best performance was obtained using the settings above.
Updated Matlab Results
I have updated our Matlab results with new data, showing the impact of running the application in this mode. I display the total summary time for the entire workload at the bottom of each set of results. The top results show the performance of our three compared CPUs without any changes, the bottom chart shows the impact with the “set MKL_Debug_CPU_Type=5” flag. This may work for other applications that use the MKL library as well. It should be noted that in many cases, the CPU is only ~53-55 percent loaded during this test — a load level that correlates to 17-18 processor threads. In this case, however, these settings proved faster than forcing the MKL to use a higher number of threads. Telling the machine to use 48 or 64 threads only increased total execution time on the 3970X.
Click to enlarge
AMD’s performance improves by 1.32x – 1.37x overall. Individual test gains are sometimes much larger. Obviously these results are much worse for Intel, changing what looked like a narrow victory over the 3960X and a good showing against the 3970X into an all-out loss.
When Is It Alright to Test These Sorts of Applications?
I was not aware of Matlab’s behavior when I agreed to benchmark the application for the Threadripper 3960X / 3970X / Cascade Lake launch, but this is an excellent time to discuss the topic. The fact is, Matlab ships in a configuration that is automatically biased against AMD: It refuses to run SIMD code on an AMD CPU, even though the CPU supports the SIMD code in question.
It is not wrong to benchmark a real-world application. The performance of a real-world application you have to use may well be relevant to the hardware choices you make. If your job depends on running workloads in an application that heavily favors Intel microprocessors, you’re likely to buy Intel CPUs, even if you’d prefer to buy chips based on ARM or AMD designs. People deserve to know how the software that they run actually performs on the hardware that they use, and Matlab is a major piece of software used by more than 3 million people. The fact that Matlab favors Intel CPUs doesn’t mean Matlab users don’t deserve to know how the application performs. Of course they do.
But when we pick tests for a review, we’re intrinsically saying that you should pay attention to these specific tests and extrapolate general performance comparisons from there. MathWorks has every right to ship whatever software libraries it chooses. But if Matlab is going to ship using libraries that run SIMD code on Intel CPUs but refuse to run that code on AMD CPUs, we need to know that before we agree to test the application in a review. This is non-negotiable. We use review applications to give people an idea what performance will be like in other apps that serve the same market. Implying that AMD does poorly in Matlab raises the question of whether AMD CPUs
Tumblr media
perform well in applications similar to Matlab. That’s not a fair implication to make unless we simultaneously disclose that Matlab generates code that is intrinsically optimized in ways that tilt the playing field in favor of Intel.
Flanders asks that you contact Matlab to make a feature request if you want a solution to this problem, but you’ll need to be a Matlab subscriber already to submit anything. Regardless of whether the company changes its approach, we feel end-users need to be aware of how to bypass this issue and restore full performance to AMD CPUs.
I might have included the Matlab test even if Intel had disclosed that it would use Intel-specific optimization paths; I was looking for tests that favored Intel to compare against AMD’s much-higher core count. I had no intention of positioning these tests as anything other than what they were — best-case scenarios for Intel, but realistic scenarios nonetheless. I tested y-cruncher 0.78 for this review specifically because it’s an example of an AVX-512 optimized application where that SIMD set gives Intel a significant speed boost. I don’t have a problem with showcasing Intel or AMD CPUs to their best advantage. I just want to know when I’m doing it.
Readers will ask why I haven’t jumped down Intel’s throat based on the historical facts of the “Cripple AMD” compiler issue. Let me reassure you, I’m fully aware of them. The facts of that situation are why Intel should have made certain to be careful of which tests were recommended and what it communicated concerning those tests. But I also don’t have copies of every scrap of Intel guidance on the last few HEDT launch cycles, and can’t say the test was added for this cycle rather than being a program Intel would’ve also recommended in previous cycles as well. Even if Matlab wasn’t mentioned in previous public benchmark guidance for earlier CPUs, I had specifically reached out to Intel to request data on tests that might incorporate capabilities like AVX-512. Intel should have practices in place to make sure reviewers know about pitfalls like this — but I can’t say for certain that this wasn’t a mistake.
With that said:
Readers should be aware that I also scanned Sony Catalyst using the Swallowtail patches capable of removing the “Cripple AMD” function from executables and found no sign of any pro-Intel bias after they had executed; the Threadripper 3970X executed the Sony Catalyst workload in the same period of time after the application had run. At this point, however, the Swallowtail patches are 10 years old. While I’ve confirmed that they work on old software, it’s not clear that they are capable of detecting the methods still being used to prevent code from executing optimally on AMD processors. I am no longer certain if Sony Catalyst Edit represents the kind of lightly-threaded app I was hoping to test for the 10980XE review, or if it uses as-yet undetected preferential code paths to improve performance on Intel CPUs. At the very least, I’m not as certain as I’d like to be.
I will say one more thing on this issue. As far as I’m personally concerned, any piece of software that claims to support AVX, AVX2, SSE, or any other SIMD code should prominently state whether that code executes solely on supported Intel microprocessors. Failing to inform customers that your software won’t execute ideal code on their platform due to hard-coded limits in your application ought to constitute false advertising. AMD advertises its CPUs based on factors like AVX2 support, but software vendors are under no obligation to inform you whether you’ll be able to use features you literally paid for. This should not be the case. Multi-million dollar software developers are capable of performing the due diligence required to be honest about their optimization practices.
Now Read:
AMD Threadripper 3970X, 3960X, and Intel Core i9-10980XE CPUs Tested: Intel Cuts Prices, AMD Redefines What’s Possible
AMD Promises New Architecture for Zen 3, Adopts Intel Tick-Tock Model
Welcome to the Second Golden Age of AMD
from ExtremeTechExtremeTech https://www.extremetech.com/computing/302650-how-to-bypass-matlab-cripple-amd-ryzen-threadripper-cpus from Blogger http://componentplanet.blogspot.com/2019/11/how-to-bypass-matlabs-cripple-amd.html
0 notes