Geisel Software https://geisel.software/ en Landing Page https://geisel.software/partnerships <span>Landing Page</span> <span><a title="View user profile." href="/user/102429" lang="" about="/user/102429" typeof="schema:Person" property="schema:name" datatype="">shikha</a></span> <span>Mon, 05/29/2023 - 10:31</span> <div class="field field--name-field-layout field--type-entity-reference-revisions field--label-hidden field--items"> <div class="field--item"><section class="solution-columns"> <div class="row"> <div class="col-12 section-heading"> <h1>Our Mission? Client <span>Success</span> </h1> <p>Tap into diverse expertise and resources to deliver high-quality client solutions on time and within budget.</p> </div> </div> <div class="row"> <div class="col-12 col-md-4 card"><img src="/sites/default/files/2023-05/watch.png" /> <h4>Deliver Solutions Faster</h4> <p>Partnerships instantly grow your team and increase your capacity to meet client deadlines. All of that extra knowledge also means you&#039;re less likely to run into development roadblocks.</p> </div> <div class="col-12 col-md-4 card"><img src="/sites/default/files/2023-05/hand.png" /> <h4>Power in Numbers</h4> <p>Why face the challenges of development, alone? Partnering with other innovative, seasoned developers means you can solve the seemingly unsolvable.</p> </div> <div class="col-12 col-md-4 card"><img src="/sites/default/files/2023-05/lnks.png" /> <h4>Expand Your Network</h4> <p>Get connected! Partnerships have the power to grow your professional network, establish new connections and open the door to new opportunities.</p> </div> </div> </section> </div> <div class="field--item"><section class="solution-process"> <div class="container"> <div class="row"> <div class="col-12 col-md-12"> <h2>Collaboration. Innovation. Happy Clients.</h2> </div> <div class="col-12 col-md-12 process"> <ul> <li>Initial Meeting</li> <li>Define Project</li> <li>Design &amp; Build</li> <li>Test</li> <li>Deliver</li> </ul> </div> </div> </div> </section> </div> </div> Mon, 29 May 2023 09:31:15 +0000 shikha 345 at https://geisel.software New Landing Page https://geisel.software/node/344 <span>New Landing Page</span> <span><a title="View user profile." href="/user/102429" lang="" about="/user/102429" typeof="schema:Person" property="schema:name" datatype="">shikha</a></span> <span>Mon, 05/29/2023 - 07:32</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><section class="solution-columns"><div class="row"> <div class="col-12 section-heading"> <h1>Our Mission? Client <span>Success</span></h1> <p>Tap into diverse expertise and resources to deliver high-quality client solutions on time and within budget.</p> </div> </div> <div class="row"> <div class="col-12 col-md-4 card"><img src="https://geisel.software/sites/default/files/watch.png" /><h4>Deliver Solutions Faster</h4> <p>Partnerships instantly grow your team and increase your capacity to meet client deadlines. All of that extra knowledge also means you're less likely to run into development roadblocks.</p> </div> <div class="col-12 col-md-4 card"><img src="https://geisel.software/sites/default/files/hand.png" /><h4>Power in Numbers</h4> <p>Why face the challenges of development, alone? Partnering with other innovative, seasoned developers means you can solve the seemingly unsolvable.</p> </div> <div class="col-12 col-md-4 card"><img src="https://geisel.software/sites/default/files/lnks.png" /><h4>Expand Your Network</h4> <p>Get connected! Partnerships have the power to grow your professional network, establish new connections and open the door to new opportunities.</p> </div> </div> </section><section class="solution-process"><div class="container"> <div class="row"> <div class="col-12 col-md-12"> <h2>Collaboration. Innovation. Happy Clients.</h2> </div> <div class="col-12 col-md-12 process"> <ul><li>Initial Meeting</li> <li>Define Project</li> <li>Design &amp; Build</li> <li>Test</li> <li>Deliver</li> </ul></div> </div> </div> </section></div> Mon, 29 May 2023 06:32:17 +0000 shikha 344 at https://geisel.software FDA to Crack Down on Medical Device Security: Here's What You Need to Know https://geisel.software/blog/FDA-to-Crack-Down-on-Medical-Device-Security-IoMT <span>FDA to Crack Down on Medical Device Security: Here&#039;s What You Need to Know</span> <div class="field field--name-field-header-image field--type-image field--label-hidden field--item"> <img loading="lazy" src="/sites/default/files/2023-05/Screen%20Shot%202023-05-30%20at%2012.37.04%20PM.png" width="800" height="522" alt="medical devices, doctor" typeof="foaf:Image" class="img-responsive" /> </div> <span><a title="View user profile." href="/user/106190" lang="" about="/user/106190" typeof="schema:Person" property="schema:name" datatype="">snorris</a></span> <span>Fri, 05/26/2023 - 19:38</span> <div class="field field--name-field-blog-category field--type-entity-reference field--label-hidden field--item">127</div> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h3>Introduction - IoT in Healthcare</h3> <p>Medical device security is a critical concern for patients, healthcare providers, and manufacturers alike. The FDA has passed legislation on the topic to help ensure that medical devices are designed, developed, and maintained with security in mind. In this blog article, we will explore the FDA's legislation on medical device security, including key recommendations and considerations. Make sure you’re ready!</p> <h3>The Internet of Medical Things - IoMT</h3> <p>The digital healthcare market is one of the fastest-growing segments of connected devices and a vital part of the healthcare industry. It’s estimated that by 2024 there will be 94 million connected medical devices worldwide (<a href="https://www.entrust.com/-/media/documentation/reports/advisory-medical-devices-need-authentication-bib.pdf">Source</a>). While these devices can improve patient care and reduce treatment costs, they can also be vulnerable to bugs, cyberattacks, or even total system failure.</p> <p>Regular, secure software updates are an essential part of keeping connected medical devices and their users safe. OTA updates are crucial because they allow for the remote management and protection of millions of devices that could not be feasibly serviced manually because they are too numerous or inaccessible (think pacemakers).</p> <p>Not only are OTA updates crucial, but they are also an FDA-enforced requirement for medical devices that applies to any submissions made after March 29th, 2023. These regulations have contributed to a global trend in which spending on medical device security is growing rapidly. In fact, the medical device security market was valued at $6.23 billion in 2019 but is expected to nearly triple by 2027, reaching $17.49 billion (<a href="https://www.alliedmarketresearch.com/medical-device-security-market-A10566">Source</a>).</p> <h3>Why is IoMT Device Regulation Necessary?</h3> <ul><li>IoMT devices handle sensitive medical data, which makes potential breaches very harmful. Any breach of this information can have dire consequences for patients, such as identity theft, financial loss, or medical fraud.</li> <li>These devices are responsible for the well-being of patients and users, meaning any malfunction could present the risk of physical harm or even death.</li> <li>IoMT devices have the potential to serve as entry points for malicious attacks on healthcare networks, particularly in hospitals, which can lead to the disruption of critical care and incur significant financial costs. A single compromised device could render the entire hospital network susceptible to attacks, causing delays in vital procedures such as surgeries.</li> <li>Medical devices can even be used as part of terror attacks where life-saving devices are tampered with, causing fatal harm to users. For example, a terrorist may tamper with a patient's ventilator or pacemaker, causing the device to malfunction and potentially harm or kill the patient. Terrorists may also alter the dosage or composition of medicines, causing adverse reactions or even death.</li> </ul><h3>FDA Guidelines for IoMT Device Software Updates</h3> <p>In response to industry concerns about these growing risks, the FDA passed legislation for medical devices or digital health technologies (DHTs). FDA guidance on updating IoMT devices can be found <a href="https://www.fda.gov/media/166614/download">here</a>.</p> <p><a href="https://www.fda.gov/media/166614/download">The short document</a> details the processes and procedures required by the FDA as well as which kind of medical devices the guidelines are applicable to.</p> <p>Guidance specific to medical device software updates can be found in subsections (b)(2)(A-B) of the legislation. </p> <p>It states that any person who submits an application or medical device submission that qualifies as a “cyber device” (defined in subsection (c)) must:</p> <p><em>“(2) design, develop, and maintain processes and procedures to provide a<br /> reasonable assurance that the device and related systems are cybersecure, and<br /> make available postmarket updates and patches to the device and related systems<br /> to address—<br /> (A) on a reasonably justified regular cycle, known unacceptable<br /> vulnerabilities; and<br /> (B) as soon as possible out of cycle, critical vulnerabilities that could<br /> cause uncontrolled risks;” (<a href="https://www.fda.gov/media/166614/download">Source</a>).</em></p> <h3>What Counts as a Software Update?</h3> <p>The two main categories of IoMT software updates are minor updates and major updates.</p> <p>Minor updates are changes that do not present a significant chance of affecting a device’s safety or effectiveness. Changes like bug fixes, small security patches, and user interface (UI) improvements would all fall under this category.</p> <p>Major updates are changes that could significantly affect a device’s safety or operationality. Examples of major updates include adding new features and functionality to a device or changing the device architecture significantly. The FDA defines major updates as those that “significantly changed or modified in design, components, method of manufacture, or intended use” of the device (<a href="https://www.fda.gov/medical-devices/premarket-notification-510k/new-510k-required-modification-device">Source</a>).</p> <h3>When Do You Need FDA Approval to Send IoMT Device Software Updates?</h3> <p>The answer is that it depends on the scope of the update.</p> <p>Minor updates might not require FDA clearance, but documentation and validation of the update are required.</p> <p>Major updates might require FDA clearance or approval depending on how the update could impact the device's safety or functionality. If the update significantly impacts the device's utility or presents new risks to patients, the manufacturer must submit a new 510(k) or premarket approval (PMA) application to the FDA.</p> <p>For more information on determining whether or not your software update requires a 510(k) submission, <a href="https://www.fda.gov/media/99785/download">see this guide</a>.</p> <h3>Conclusion</h3> <p>Software updates are absolutely essential for improving the safety and effectiveness of connected medical devices. Any change to an IoMT device’s software presents a possible risk to users. The connected device landscape is still evolving quickly, and the new $1.7 trillion dollar omnibus package that passed in Dec. of 2022 gave the FDA new authority to mandate medical device security regulations. It’s essential that device developers stay on top of these changes by making compliance a part of their development strategy.</p> <p> </p> <p><strong>If you develop connected medical devices, connect with an expert to learn the best way to securely manage updates for your medical devices. Get in touch today to start the conversation!</strong></p> <div class="btn-container"><a class="btn btn-primary withendicon" href="https://geisel.software/contact">Contact Us</a></div> <p> </p> <p> </p> </div> <div id="field-language-display"><div class="form-item js-form-item form-type-item js-form-type-item form-item- js-form-item- form-group"> <label class="control-label">Language</label> English </div> </div> Fri, 26 May 2023 18:38:58 +0000 snorris 343 at https://geisel.software Geisel Software Capabilities https://geisel.software/geisel-software-capabilities <span>Geisel Software Capabilities</span> <span><a title="View user profile." href="/user/102429" lang="" about="/user/102429" typeof="schema:Person" property="schema:name" datatype="">shikha</a></span> <span>Wed, 05/24/2023 - 07:55</span> <div class="field field--name-field-pdf field--type-file field--label-above"> <div class="field--label">PDF</div> <div class="field--item"><span class="file file--mime-application-pdf file--application-pdf icon-before"><span class="file-icon"><span class="icon glyphicon glyphicon-file text-primary" aria-hidden="true"></span></span><span class="file-link"><a href="https://geisel.software/sites/default/files/2023-05/Geisel-Software_Capabilities_with_email_link.pdf" type="application/pdf; length=7054723" title="Open file in new window" target="_blank" data-toggle="tooltip" data-placement="bottom">Geisel-Software_Capabilities_with_email_link.pdf</a></span><span class="file-size">6.73 MB</span></span></div> </div> Wed, 24 May 2023 06:55:54 +0000 shikha 342 at https://geisel.software The Technological Singularity: Are We on the Brink? https://geisel.software/blog/the-technological-singularity <span>The Technological Singularity: Are We on the Brink?</span> <div class="field field--name-field-header-image field--type-image field--label-hidden field--item"> <img loading="lazy" src="/sites/default/files/2023-05/AdobeStock_572796343%20%281%29%20Large_0.png" width="800" height="431" alt="AI motherboard" typeof="foaf:Image" class="img-responsive" /> </div> <span><a title="View user profile." href="/user/106188" lang="" about="/user/106188" typeof="schema:Person" property="schema:name" datatype="">jmeunier</a></span> <span>Mon, 05/08/2023 - 20:42</span> <div class="field field--name-field-blog-category field--type-entity-reference field--label-hidden field--item">20</div> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h3>Introduction</h3> <p>Each advancement in artificial intelligence (AI), machine learning (ML), and contemporary large language models (LLMs), rekindles debates over the fabled “technological singularity,” a hypothetical future point in time at which technological growth becomes uncontrollable and irreversible, potentially resulting in unforeseeable changes to human civilization. The discourse on this topic is split, with some claiming that the singularity is imminent, others claiming that it will never arrive, and many saying that we simply can’t know if or when the singularity will emerge.</p> <p>In this article, we’ll attempt to unmask some of the mysteries behind the singularity and gain a better understanding of:</p> <ul><li>How likely the emergence of such an entity really is.</li> <li>How we might get there + popular theories.</li> <li>What happens if we get there.</li> <li>And what we can do about it in the meantime.</li> </ul><h3>Vernor Vinge’s Technological Singularity</h3> <p>The term "singularity" comes from mathematics and physics. In mathematics, it refers to a point where a function becomes undefined or infinite. In physics, a singularity is a phenomenon where our understanding of the laws of physics, spacetime, or gravity breaks down. In the case of the technological singularity, it refers to a point where the self-recursive improvement of AI becomes so rapid that it exceeds the capacity of human intelligence to comprehend or control it. Disruptive or even harmful effects of the singularity would soon follow if society were not prepared.</p> <p>The idea of the technological singularity was first proposed by mathematician and computer scientist Vernor Vinge in his 1993 essay "The Coming Technological Singularity: How to Survive in the Post-Human Era." In the essay, he argued that the exponential nature of technological advancement would result in artificial intelligence surpassing human-level intelligence. He also proposed that such an event or shift would bring immediate, profound, and unpredictable consequences for human society. In fact, Vinge confidently predicted that we’d cross the singularity Rubicon sometime between 2005 and 2030.</p> <p>AI technologies have seen significant progress in recent years, particularly in areas such as machine learning and natural language processing, but we are still far from achieving the technological singularity. However, recent large language models, natural language processing models, and chatbots like OpenAI’s ChatGPT and GPT-4 are displaying the power of contemporary AI technology. These tools are proof of the recent advancements in methods like deep learning and the use of neural networks.</p> <h3>How We Could Get “There”</h3> <p>There are a few scenarios that could bring about the technological singularity. One possibility is that a single AI system becomes so advanced that it’s able to rapidly improve itself and surpass human intelligence and comprehension. Another possibility is that a network of AI systems, working together, becomes more intelligent than humans. This sort of patchwork AI network is <a href="https://spectrum.ieee.org/large-language-models">already being explored</a>.</p> <p>Many believe that the technological singularity is inevitable, given rapid advances in AI technology and the continued exponential growth in computing power. Others claim that this advanced “cognitive computing” is unlikely to occur, arguing that it’s impossible to replicate human-like levels of intelligence and creativity.</p> <h3>Some Popular Theories - V. Vinge, R. Kurzweil, I.J. Good</h3> <p>Even in 1993, Vinge predicted that AI’s potential for "recursive self-improvement," or the ability to continually and methodically improve itself, was enough evidence to be certain that the singularity was inevitable. And, admittedly, it’s hard to refute Vinge’s logic with supporting observations like Moore’s Law holding its steady course. If computing power, training data sets, and AI research keep improving exponentially, then the idea of the singularity doesn’t seem so outlandish, or even far away.</p> <p>American computer scientist, author, inventor, and futurist, Ray Kurzweil claimed that technological progress follows a pattern of exponential growth, following what he calls the "law of accelerating returns". It states that when technology approaches a barrier, new technologies will surmount it. He predicted that paradigm shifts will become increasingly common, leading to "technological change so rapid and profound it represents a rupture in the fabric of human history" (<a href="https://www.kurzweilai.net/the-law-of-accelerating-returns#:~:text=The%20Singularity%20is%20technological%20change,the%20fabric%20of%20human%20history.">Kurzweil, 2001</a>). Kurzweil believes that the singularity will occur by approximately 2045.</p> <p>Lastly, the most popular version of the singularity hypothesis, I.J. Good's intelligence explosion model, posits that an upgradeable, intelligent agent will eventually enter a "runaway reaction" of self-improvement cycles. Each new and more intelligent generation would appear with increasing rapidity, causing an "explosion" in intelligence. The result would be a powerful superintelligence that qualitatively far surpasses all human intelligence.</p> <h3>What Happens If We Get “There”</h3> <p>Optimists argue that the singularity would be a positive event that leads to unprecedented progress toward solving society’s most pressing problems. Incurable diseases, food shortages, economic troubles, or any logistical problem would fall to the genius of the singularity. While this is a bit exaggerated, it speaks to the ideal potential of the technological singularity.</p> <p>Others argue that the emergence of the singularity will be a catastrophic event, leading to the downfall of the world order. One of the primary dangers posed by the technological singularity is the risk of job displacement and abrupt economic disruption. If machines become intelligent and capable enough, they will be able to perform many of the tasks currently performed by humans. This would undoubtedly lead to widespread job displacement and economic disruption.</p> <h3>Which Jobs Are Most Likely to Be Affected?</h3> <p>Conventional wisdom tells us that having a highly specialized skillset like a radiologist, software developer or financial planner makes you hard to replace. And if you stock shelves, clean bathrooms, or are a trash collector, your manual, “unskilled” labor is easy to replace. However, in the context of the current technological landscape, the truth might be the exact opposite. In terms of feasibility, it’s much easier to train an AI model to perform even highly complex tasks, than it is to program, build, deploy, and maintain a fleet of robots that clean bathrooms really well. Not only does the latter require vast amounts of resources to accomplish, but the reward itself is simply not worth the cost. On the other hand, as early as 2018, <a href="https://med.stanford.edu/news/all-news/2018/11/ai-outperformed-radiologists-in-screening-x-rays-for-certain-diseases.html">Stanford researchers found that an AI program performed diagnostic assessments as well as trained radiologists in most cases</a>. Similar tools for applications like wealth management, software development, and more are emerging as well. Once these specialized AIs exist, they can easily be rolled into a digital product or service and accessed by anyone. The same can’t be said for a bathroom cleaning robot, which, if it were a widely available product, might still take decades to significantly change the job market for custodians as adoption would be slow because of the cost barrier and slow return on investment. </p> <h3>Conclusion</h3> <p>Given the rapid development of AI technologies and the exponential growth of computing power, the technological singularity is a realistic possibility, and it raises important questions about the future of AI governance and AI ethics. Regardless of which side of the discussion you’re on, it goes without saying that it’s important for policymakers, scientists, and the public to discuss and prepare for the possibility of the technological singularity. </p> <p><em>“Some people say that computers can never show true intelligence, whatever that may be. But it seems to me that if very complicated chemical molecules can operate in humans to make them intelligent, then equally complicated electronic circuits can also make computers act in an intelligent way. And if they are intelligent they can presumably design computers that have even greater complexity and intelligence.”</em></p> <p><em>– Stephen Hawking, Brief Answers to the Big Questions</em></p> <p> </p> <p><strong>Use the button below to download our ChatGPT quick guide for developers which lays out the 10 best &amp; worst uses for ChatGPT in software development!</strong></p> <p> </p> <p><a class="button js-form-submit form-submit btn-primary btn" href="/sites/default/files/ChatGPT%2010%20Best%20%26%20Worst%20Uses%20Quick%20Guide.pdf">ChatGPT 10 Best &amp; Worst Uses Quick Guide</a></p> <p> </p> <p>Based on a tech talk given by GSI's Jeff Meunier.</p> </div> <div id="field-language-display"><div class="form-item js-form-item form-type-item js-form-type-item form-item- js-form-item- form-group"> <label class="control-label">Language</label> English </div> </div> Mon, 08 May 2023 19:42:59 +0000 jmeunier 341 at https://geisel.software Unlocking the Potential of GPUs: A Webinar and Q&A on GPU Optimization https://geisel.software/blog/Unlocking-the-Potential-of-GPUs-Webinar <span>Unlocking the Potential of GPUs: A Webinar and Q&amp;A on GPU Optimization</span> <div class="field field--name-field-header-image field--type-image field--label-hidden field--item"> <img loading="lazy" src="/sites/default/files/default_images/blog-post1.jpg" width="800" height="566" alt="Default Blog Image" typeof="foaf:Image" class="img-responsive" /> </div> <span><a title="View user profile." href="/user/106191" lang="" about="/user/106191" typeof="schema:Person" property="schema:name" datatype="">sphillips</a></span> <span>Wed, 05/03/2023 - 20:33</span> <div class="field field--name-field-blog-category field--type-entity-reference field--label-hidden field--item">20</div> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p> </p> <h3><strong>About This Webinar</strong></h3> <p>GPU optimization has become increasingly important in fields ranging from scientific computing and data analytics to gaming and computer graphics. However, many developers still struggle to take full advantage of the processing power available in GPUs. In this webinar, we explore the advantages of GPU optimization and the tools and techniques you can use to achieve significant performance gains in your applications.</p> <p>Whether you are a seasoned GPU developer or just starting out, this webinar will provide you with the information and guidance you need to unlock the full potential of GPUs in your applications. Watch it on-demand now.</p> <h3><br /><strong>What We Cover:</strong></h3> <ul><li>An overview of the architecture of modern GPUs, examining their memory hierarchy and parallel processing capabilities.</li> <li>Techniques and tools that you can use to optimize your applications, including parallel programming frameworks, performance profiling and tuning tools, and GPU-accelerated libraries.</li> <li>A demonstration showing how GPU acceleration can enable millions of agents to interact with one another in real-time using compute shaders.</li> </ul><p><strong>Have a troublesome, slow application that needs accelerating? Our GPU experts are ready to accelerate and unlock the potential of your applications as we have for many other clients! Follow the button below to view our accelerated computing capabilities!</strong></p> <h3 style="text-align: center;"><a class="button btn-primary btn" href="/sites/default/files/The%2011%20Best%20GPU%20Acceleration%20Tools.pdf">The 11 Best GPU Acceleration Tools</a></h3> <p style="text-align: center"> </p> </div> <div id="field-language-display"><div class="form-item js-form-item form-type-item js-form-type-item form-item- js-form-item- form-group"> <label class="control-label">Language</label> English </div> </div> Wed, 03 May 2023 19:33:25 +0000 sphillips 335 at https://geisel.software Will Developers Lose Their jobs to ChatGPT? + An AI Expert’s Opinion https://geisel.software/Will-Developers-Lose-Their-Jobs-to-ChatGPT <span>Will Developers Lose Their jobs to ChatGPT? + An AI Expert’s Opinion</span> <div class="field field--name-field-header-image field--type-image field--label-hidden field--item"> <img loading="lazy" src="/sites/default/files/2023-02/chatgpt.jpeg" width="800" height="450" alt="chatGPT" typeof="foaf:Image" class="img-responsive" /> </div> <span><a title="View user profile." href="/user/106190" lang="" about="/user/106190" typeof="schema:Person" property="schema:name" datatype="">snorris</a></span> <span>Tue, 02/14/2023 - 12:39</span> <div class="field field--name-field-blog-category field--type-entity-reference field--label-hidden field--item">20</div> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h3>Introduction</h3> <p>ChatGPT, the advanced language model developed by OpenAI, has gained significant attention for its ability to generate human-like text with high accuracy. The model is trained on massive amounts of natural language text that it parses to create responses to user prompts. </p> <p>With each major leap in AI technology, discussions about human obsolescence are bound to resurface. ChatGPT is no exception, and this time, it’s software developers who are left wondering whether or not they might be replaced by artificial intelligence.</p> <p>So, should developers be worried about ChatGPT? Should they get ready for a career change?</p> <p>The answer is <strong>NO</strong>, ChatGPT will not replace software developers in the immediate future. This is why:</p> <p> </p> <p>To better understand this issue, let’s discuss:</p> <ol><li>What ChatGPT can do</li> <li>How ChatGPT works</li> <li>What human software developers do</li> <li>An expert’s take</li> <li>How ChatGPT Can be Used</li> <li>Our conclusion</li> </ol><h3><br /> What ChatGPT can do:</h3> <ol><li>Answer questions.</li> <li>Write fiction and non-fiction content from prompts.</li> <li>Produce human-like chatbot responses.</li> <li>Generate computer code.</li> <li>Translate text to different languages.</li> <li>Complete calculations.</li> <li>Summarize provided text.</li> <li>Generate text that summarizes data in tables and spreadsheets.</li> </ol><h3><br /> How ChatGPT Works:</h3> <p><strong>Input</strong>: ChatGPT receives a prompt or a natural language input.<br /><strong>Embed</strong>: The input text is turned into numerical representations, called embeddings, which are used as inputs in the natural language model.<br /><strong>Encode</strong>: The encoder element of the model processes the embeddings and creates a hidden representation that summarizes the inputs.<br /><strong>Contextualize</strong>: Then, ChatGPT’s attention mechanism allows it to selectively focus on certain parts of the input and generate representations that take the input’s context into account.<br /><strong>Decode</strong>: The decoder part of the model then uses the hidden representation and the attention mechanism to create a response.<br /><strong>Output</strong>: The output from the decoder is turned back into text, and that text is returned to the user as the final written output.</p> <h3><br /> What Developers Do:</h3> <p><strong>Use Creativity</strong>: Software development is a creative process that undoubtedly requires a human touch. While ChatGPT can generate natural language text, it lacks the ability to think outside the box and come up with original ideas. At this point in time, ChatGPT is simply unable to make the leaps that human intuition and creativity can.</p> <p><strong>Problem Solve</strong>: Software development entails identifying and solving complex problems. While ChatGPT can assist developers in solving problems, it cannot do so on its own as the code it generates typically requires refinement and some untangling. Human developers possess the critical thinking skills to approach a problem from many angles and find the best solution, while ChatGPT lacks this advanced functionality.</p> <p><strong>Understanding User Needs</strong>: Software developers understand their fellow humans’ needs. They understand how people think, interact, and problem-solve. This makes their code human-centric and more accessible. ChatGPT can not make informed decisions about what users actually need and want. This is an important aspect of development that AI models can’t replicate.</p> <p><strong>Debugging and Troubleshootin</strong>g: Debugging and troubleshooting are critical skills that software developers constantly use. ChatGPT can generate code, and it can even assist with simple debugging and troubleshooting. However, it lacks the ability to identify and solve highly complex problems on its own.</p> <p><strong>Using Interpersonal Skills</strong>: Software development is a team-based process that requires strong interpersonal skills like collaboration and communication. ChatGPT is unable to communicate broader concepts or problems to developers regarding the code it generates, which inhibits its ability to truly participate in the development process independent of human interpretation.</p> <h3>An Expert’s Take:</h3> <p>We asked one of our Sofware Development Managers, Liz Couture, to weigh in on this issue (Liz is an AI/ML/NLU expert).</p> <blockquote> <p>“ChatGPT isn't in a state where a person who isn't educated in software development can ask it for a piece of software and it spits out perfection every time. It generally requires developers to check its work, troubleshoot it, understand what it's doing, and integrate it with existing software. Until ChatGPT reaches a point where somebody could write "make me an app that does this" and it spits out a fully formed functional piece of software, it won't replace developers. Rather, it will be a tool that aids developers. Developers already have a number of tools at their disposal to analyze, improve, and eliminate dangerous complexity and bugs from their code. ChatGPT and similar systems will probably become another one of these tools, enabling existing developers to be more productive, and allowing them to create better and more complex pieces of software.”</p> </blockquote> <h3>How ChatGPT Can be Used:</h3> <p>ChatGPT is not yet advanced enough to replace developers on its own. However, developers, being as resourceful as they are, have already taken to using ChatGPT for simple prototyping, debugging, troubleshooting, comment generation, and other tasks. Any developer can fire up ChatGPT and ask it to produce code from specific prompts. While the results aren’t always perfect, the code can still help accelerate the development process by lightening the amount of legwork typically needed.</p> <h3>Our Conclusion:</h3> <p>ChatGPT and other AI models will not likely replace developers in the near future. As far as AI has advanced, it still falls short of replicating those invaluable human skills: creativity, problem-solving, interpersonal communication, and more. These skills will keep software developers in high demand for the foreseeable future. Meanwhile, ChatGPT and other AI models may assist developers by helping hash out new ideas or frameworks that are then refined by developers.</p> <p> </p> <p><strong>Looking for a new, exciting software development role? Head over to our careers page and see the roles we're hiring for!</strong></p> <h3 style="text-align: center;"><a class="button btn-primary btn" href="https://geisel.software/careers">View Open Positions</a></h3> <p> </p> </div> <div id="field-language-display"><div class="form-item js-form-item form-type-item js-form-type-item form-item- js-form-item- form-group"> <label class="control-label">Language</label> English </div> </div> Tue, 14 Feb 2023 12:39:38 +0000 snorris 331 at https://geisel.software How to Optimize & Accelerate GPUs for Graphical & Machine Vision Processing https://geisel.software/blog/how-optimize-accelerate-gpus-graphical-machine-vision-processing <span>How to Optimize &amp; Accelerate GPUs for Graphical &amp; Machine Vision Processing</span> <div class="field field--name-field-header-image field--type-image field--label-hidden field--item"> <img loading="lazy" src="/sites/default/files/2022-11/unnamed.png" width="800" height="534" alt="GPU Acceleration" typeof="foaf:Image" class="img-responsive" /> </div> <span><a title="View user profile." href="/user/106191" lang="" about="/user/106191" typeof="schema:Person" property="schema:name" datatype="">sphillips</a></span> <span>Wed, 11/23/2022 - 17:56</span> <div class="field field--name-field-blog-category field--type-entity-reference field--label-hidden field--item">127</div> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h3>Introduction</h3> <p>Machine learning (ML) systems analyze tremendous amounts of data to identify hidden patterns and make predictions based on those patterns. This requires a very high level of parallel processing. And if these systems are meant to be used in real-time scenarios, the level of processing is critical to the feasibility of the application. Modern advancements in GPU computing technology are opening up new realms of possibility for computationally intensive, real-time applications. Emerging applications of AI and ML, such as machine vision and three-dimensional graphical processing, are seeing some of the greatest benefits of accelerated computing.</p> <h3>This article will cover</h3> <ul><li>Parallel processing on CPUs, including SIMD instructions on multiple cores.</li> <li>High-performance parallel processing on Graphics Processing Units (GPUs) with native software kernels.</li> <li>A typical machine learning product design scenario with GPU acceleration.</li> <li>Tips for writing high-performance GPU algorithms.</li> <li>Conclusions and takeaways</li> </ul><h3>Parallelizing CPUs</h3> <p>When talking about parallel computing, we typically think of GPUs and their vast array of independent cores. Historically, CPUs have not had strong, innate parallel computing abilities, but CPU features like SIMD instruction sets make it possible to perform parallel computing on CPUs. While SIMD-equipped CPUs might not come close to the parallel capacity of modern GPUs, they can still offer great performance improvements over a CPU that is processing serially. CPU parallelization can also work hand-in-hand with GPU optimizations to fully utilize available computing resources.</p> <p>Intel's AVX-512 SIMD instruction set, for example, can process up to 64 computations in parallel on a CPU instead of processing one at a time. SIMD is also relatively lightweight to apply, as it is simply a set of instructions and does not require extra libraries or additional memory to operate.</p> <p>The parallelism of CPUs can be taken one step further by using multithreading and SIMD together to scale up parallel operations on multicore CPUs. One of the libraries that can be used to add parallelism to a CPU is oneTBB, a Threading Building Blocks library by Intel. This API provides a powerful, easy-to-use capability to spread processing iterations over multiple threads and fully utilize the available CPU cores.</p> <p>Using CPU parallelization, it is often possible to accelerate algorithm performance by a factor of 2x to 5x, which can make a big difference for many applications. CPU parallelization can even be used to accelerate machine learning tasks for small IoT edge computing devices. For example, Intel has recently introduced the AVX-512 Vector Neural Network Instruction set (VNNI), which is designed to accelerate inner convolutional neural network loops. This allows the neural network to run in parallel using only CPU resources. Although neural nets are typically trained on powerful computers equipped with GPUs, these trained networks can be deployed to small IoT devices which can perform machine learning in the field.</p> <h3>What is a GPU?</h3> <p>While CPUs can be adapted to serve some parallel computing needs, GPUs, originally designed to process images and graphics, take parallelism to another level. Modern GPUs are now used as powerful, general-purpose computing machines, capable of processing enormous amounts of data in parallel. Each GPU core is capable of running independently, resulting in massive parallelism. While a modern multi-core SIMD CPU may be able to perform hundreds of operations in parallel, the power of a GPU is limited only by how many computing units it contains. Today's GPUs contain thousands of independent computing units; for example, NVIDIA's new RTX 4090 GPUs provide 16,384 cores.</p> <p>GPUs provide programming environments that open up this power for use in general-purpose algorithms. NVIDIA GPUs use the CUDA (Compute Unified Device Architecture) kernel API which acts as the interface to the GPU. The CUDA environment is optimized to run on NVIDIA's native GPU hardware, resulting in greater throughput.</p> <p>GPUs are being used in many industries to perform an array of accelerated computing tasks like machine vision processing, neural networking algorithms, graphical processing, autonomous navigation, swarm robotics, 3D point cloud processing, and more.</p> <h3>GPU Acceleration in a Machine Learning Application</h3> <p>A useful application of GPU acceleration is in machine learning and vision problems. For this example, let’s say we’re trying to create the perfect, autonomous grocery store checkout kiosk that can scan and bag groceries for customers.</p> <p>A hypothetical solution to this problem uses an overhead camera to create a 2D color image of everything that passes along the conveyer belt, in conjunction with depth-sensing cameras or a 3D LiDAR sensor to create a full 3D representation of the grocery items.</p> <p>This system uses a neural network machine learning component that identifies items and compares them to its library of store inventory items. Once an item has been identified using the 2D camera, this data must then be correlated to the 3D representation. This allows us to confirm the identification and determine the orientation of the item so it can be bagged by the robotic arm. Other complex operations may be required such as tracking items as they move along the conveyer belt.</p> <p>Both the machine learning and 3D data manipulation must be performed in real time and are computationally intensive. This is where GPU computing comes into play, accelerating operations such as generating 3D point clouds, matrix transformations, vector math, data filtering, boundary checks, and image processing. Without this level of performance, this product would not be feasible since it would be unable to keep up with the outside world.</p> <h3>Maximizing GPU Performance: Overcoming Bottlenecks</h3> <p>Two easy tips to speed up a GPU and avoid bottlenecking are making sure that the GPU is fed data as fast as possible and is using as many transistors as possible at every moment. Whenever the GPU is waiting for additional input data to be processed, there will be an immediate loss of potential processing speed. This type of bottleneck is often the result of a memory issue but also can be caused by higher-level issues with operation sequencing.</p> <p>Two of the most common GPU bottlenecks are both memory-related. The first occurs when transferring large blocks of data between the CPU and GPU. The second occurs when multiple GPU cores must wait for their turn to access the same area of memory. This is known as memory contention.</p> <h3>How can these GPU bottlenecks be avoided?</h3> <ul><li>Reducing time spent on loading and storing data in memory is a key place to start.</li> <li>Programming APIs like CUDA allow users to combine multiple operations to eliminate redundant store and load cycles.</li> <li>Combining multiple GPU operations can significantly reduce memory accesses and improve throughput.</li> <li>Programs should also use conventional multithreading to feed data to the GPU as fast as possible and keep all computing units busy.</li> </ul><h3>Parallelizing Algorithms</h3> <p>GPUs, with their astounding computational abilities, have the potential to greatly increase processing speeds in algorithmic operations. However, simply moving an algorithm onto a GPU won't necessarily return great results. A chain is only as strong as its weakest link, so analyzing and eliminating bottlenecks is critical to achieving maximum performance. Algorithms must also be tuned to ensure maximum usage of all available GPU cores, which requires breaking complex operations down into many smaller pieces.</p> <p>It is not uncommon to see performance improvements of 10x to 100x with a well-tuned GPU algorithm. Using this approach, the Geisel Software team has achieved up to 700x performance improvements for our GPU acceleration clients.</p> <h3>Avoid Sequential Processing</h3> <p>One technique to increase the speed and efficiency of a GPU is to use thread-safe blocking queues. These queues can be preloaded with data by the CPU, allowing the GPU to run at full capacity while the CPU goes on to perform other tasks.</p> <p>Other features like shared memory on NVIDIA GPUs can also be used to reduce memory overhead for some algorithms. Each GPU core contains its own small area of shared memory, which can be accessed up to 100x faster than the primary GPU memory. Where applicable, this feature can greatly increase the speed of a GPU algorithm.</p> <h3>Takeaways and Conclusions</h3> <ul><li>An optimized algorithm is only as good as its weakest link. If you have five steps in your algorithm that all take about the same amount of time, and you optimize four of them, you're only at most 5x faster, because the single unoptimized algorithm will limit overall performance.</li> <li>Careful analysis of performance bottlenecks is critical.</li> <li>Take care of the low-hanging fruit first. Optimize the slowest component of the algorithm, retest to identify the next bottleneck, and repeat this process until you've eliminated as many bottlenecks as possible. However, don't waste time optimizing operations which are already fast, and always confirm your assumptions about performance with actual timing measurements.</li> <li>Take advantage of tools like shared memory, blocking queues, multithreading, and SIMD. They can dramatically improve performance when applied properly.</li> <li>Always feed work to the GPU as fast as possible and make sure that you're using every compute unit at any given time.</li> <li>Cut down on the number of memory accesses in your algorithm by combining tasks to eliminate memory load/store cycles.</li> <li>Simply implementing an algorithm on a GPU won't necessarily yield great improvements. You need to architect the algorithm such that it takes full advantage of the parallel benefits offered by GPUs (doing all of the operations listed in the points above is a good place to start).</li> </ul><p>For a basic CUDA tutorial, you can visit: <a href="https://developer.nvidia.com/blog/even-easier-introduction-cuda/">https://developer.nvidia.com/blog/even-easier-introduction-cuda/</a></p> <p> </p> <h4>Have a troublesome, slow application that needs accelerating? Our GPU experts are ready to accelerate and unlock the potential of your applications as we have for many other clients! Follow the button below to view our accelerated computing capabilities!</h4> <p> </p> <h3 style="text-align: center;"><a class="button btn-primary btn" href="https://geisel.software/sites/default/files/Geisel%20Software%20(GSI)%20Accelerated%20Computing.pdf">GPU Capabilities</a></h3> <p style="text-align: center"> </p> <p style="text-align: left">After graduating from MIT in 1985 (BSCE Course VI-3), Stephen Phillips has had a career as an application and system-level software engineer, with a focus on the optimization of imaging and machine vision algorithms. Mr. Phillips has developed native GPU kernels for a variety of graphical processing tasks, including a 3D imaging algorithm that gave a 700X performance improvement over C++.</p> </div> <div id="field-language-display"><div class="form-item js-form-item form-type-item js-form-type-item form-item- js-form-item- form-group"> <label class="control-label">Language</label> English </div> </div> Wed, 23 Nov 2022 17:56:24 +0000 sphillips 329 at https://geisel.software Geisel Software Recognized as One of the Fastest Growing Companies in America by Inc. 5000 https://geisel.software/content/geisel-software-recognized-one-fastest-growing-companies-america-inc-5000 <span>Geisel Software Recognized as One of the Fastest Growing Companies in America by Inc. 5000</span> <span><a title="View user profile." href="/user/102077" lang="" about="/user/102077" typeof="schema:Person" property="schema:name" datatype="">kwattu</a></span> <span>Tue, 08/16/2022 - 14:04</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>                           </p> <p>                                                                                                                           <img alt="Inc 5000" data-entity-type="" data-entity-uuid="" src="/sites/default/files/Inc.%205000%20Color%20Medallion%20Logo.png" /></p> <p> </p> <p>Next-generation software innovator Geisel Software (<a href="https://geisel.software">https://geisel.software</a>) announced today it’s been recognized by Inc. magazine as one of the fastest growing private companies in America. The Inc. 5000 list is the most prestigious ranking of the most successful companies within the American economy's most dynamic segment—its independent small businesses. Intuit, Zappos, Under Armour, Microsoft, Patagonia, and many other well-known names gained their first national exposure as honorees on the Inc. 5000. Geisel Software ranked an impressive number 1,549 on the list of 5,000 companies.</p> <p> </p> <p>"Being named to the 2022 Inc. 5000 list underscores our team’s hard work and passion for developing novel and performant software solutions for trailblazing companies in the robotics, medical device and IoT space,” commented Brian Geisel, CEO at Geisel Software. “We’ve seen tremendous growth the past few years and our team’s talent and drive have put us on a trajectory of continued hyper-growth. We’re proud to be named an Inc. 5000 company.”</p> <p> </p> <p>The companies on the 2022 Inc. 5000 have not only been successful, but have also demonstrated resilience amid supply chain woes, labor shortages, and the ongoing impact of Covid-19. The Inc. 5000 recognition puts Geisel Software in the top 0.07% of all privately-owned companies in America in terms of multi-year growth.</p> <p> </p> <p>“The accomplishment of building one of the fastest-growing companies in the U.S., in light of recent economic roadblocks, cannot be overstated,” says Scott Omelianuk, editor-in-chief of Inc. “Inc. is thrilled to honor the companies that have established themselves through innovation, hard work, and rising to the challenges of today.”</p> <p> </p> <p><strong>More about the Inc. 5000 List</strong><br /> Companies on the 2022 Inc. 5000 are ranked according to percentage revenue growth from 2018 to 2021. To qualify, companies must have been founded and generating revenue by March 31, 2018. They must be U.S.-based, privately held, for-profit, and independent — not subsidiaries or divisions of other companies — as of December 31, 2021. The minimum revenue required for 2018 is $100,000; the minimum for 2021 is $2 million. Growth rates used to determine company rankings were calculated to four decimal places. The top 500 companies on the Inc. 5000 are featured in Inc. magazine’s September issue. The entire Inc. 5000 can be found at  <a href="http://www.inc.com/inc5000">http://www.inc.com/inc5000</a>.</p> <p> </p> </div> <section> </section> Tue, 16 Aug 2022 13:04:24 +0000 kwattu 327 at https://geisel.software https://geisel.software/content/geisel-software-recognized-one-fastest-growing-companies-america-inc-5000#comments Nitrium https://geisel.software/content/nitrium <span>Nitrium</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><style type="text/css"> <!--/*--><![CDATA[/* ><!--*/ @import url('https://fonts.googleapis.com/css2?family=Lato&family=Mulish:[email protected]&display=swap'); .custom-content { background-color: #2c3150; background-image: url('//nitrium.io/wp-content/themes/nitrium/images/hero-background-static.jpg'); background-position: top center; background-repeat: no-repeat; color: #fff; font-family: 'Lato', sans-serif; font-size: 20px; padding: 4rem; } .custom-content h1 { font-family: 'Mulish', sans-serif; font-weight: 600; color: #b5d8f2; } .nitrium-features h2 { font-family: 'Mulish', sans-serif; font-weight: 600; color: #2b4e78; } .nitrium-features > .feature { background-color: #dfdfdf; color: #4c4c4c; border-radius: 6px; margin-top: 1.6rem; margin-bottom: 1.6rem; padding: 2rem; text-align: center; } .nitrium-features .feature div img { margin: 0 3.4rem; } .custom-content .btn-container { text-align: center; } .custom-content .btn-container .btn.btn-primary { color: #fff; background-color: #cd3c64; font-size: 1.4rem; margin-top: 2rem; } @media only screen and (min-width: 1023px) { .nitrium-main { width: 45%; } .nitrium-features { display: flex; } .nitrium-features > .feature { display: flex; flex-direction: column; flex-basis: 500px; flex-grow: 1; flex-shrink: 1; margin-left: 1.4rem; margin-right: 1.4rem; } .nitrium-features > .feature:first-child { margin-left: 0; } .nitrium-features > .feature:last-child { margin-right: 0; } } /*--><!]]>*/ </style><div class="custom-content"> <div class="nitrium-main"><img alt="Nitrium Logo" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/themes/nitrium/images/logo.svg" /><h1>The secure, reliable, over-the-air device firmware management platform.</h1> <p>Nitrium™ is an Over-The-Air (OTA) device firmware management platform created by GSI that allows you to safely manage and update firmware for your entire fleet of connected devices from a single dashboard. Quickly and easily deploy new features, bug fixes, security updates and more to just a few or up to millions of devices with limited disruption to device performance.</p> </div> <div class="nitrium-features"> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-dashboard.svg" /></div> <h2>Quick &amp; Scalable</h2> <p>Nitrium's web-based user interface allows you to quickly and easily upload and manage firmware across many different products and devices for just a few or up to millions of devices.</p> </div> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-secure-updates.svg" /></div> <h2>Secure &amp; Reliable</h2> <p>Our "end-to-end" IoT security philosophy allows you to safely push OTA updates knowing you're covered by the latest security practices. Learn more about Nitrium’s end-to-end security here.</p> </div> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-rollouts.svg" /></div> <h2>Flexible Rollouts</h2> <p>Easily group your devices by geography, software version or other attributes to customize deployment details liked how and when to deploy for subsets of your entire fleet.</p> </div> </div> <div class="nitrium-features"> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-could-storage.svg" /></div> <h2>Easy to Use</h2> <p>Cloud storage provided on the platform eliminates the complexity of uploading and retrieving packages and firmware from your own software solutions.</p> </div> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-device-management.svg" /></div> <h2>Valuable Device Data</h2> <p>Live activity dashboard shows live, connected devices, as well as other meta-data useful for metric analysis and device troubleshooting.</p> </div> <div class="feature"> <div><img alt="" data-entity-type="" data-entity-uuid="" src="//nitrium.io/wp-content/uploads/2022/06/icon-sdk.svg" /></div> <h2>Reduced Development Time</h2> <p>Language and architecture specific SDKs help developers write embedded software to communicate with Nitrium servers.</p> </div> </div> <div class="btn-container"><a class="btn btn-primary withendicon" href="https://nitrium.io/features/">Discover Nitrium™</a></div> </div> </div> <span><a title="View user profile." href="/user/104935" lang="" about="/user/104935" typeof="schema:Person" property="schema:name" datatype="">afogg</a></span> <span>Mon, 07/25/2022 - 18:20</span> Mon, 25 Jul 2022 17:20:35 +0000 afogg 326 at https://geisel.software